An open network for secure, decentralized communication用于安全、去中心化通信的开放网络

Learn More了解更多

An open network for secure, decentralized communication

Get started
  • Imagine a world...想象一个世界...
  • ...where it is as simple to message or call anyone as it is to send them an email....向任何人发送消息或打电话就像向他们发送电子邮件一样简单。
  • ...where you can communicate without being forced to install the same app....您可以在这里进行交流而不必被迫安装相同的应用程序。
  • ...where you can choose who hosts your communication....在这里您可以选择谁主持您的通信。
  • ...where your conversations are secured by E2E encryption....您的对话受到 E2E 加密保护。
  • ...where there’s a simple standard HTTP API for sharing real-time data on the web....其中有一个简单的标准 HTTP API,用于在网络上共享实时数据。

This is Matrix.这是矩阵。

Matrix is an open source project that publishes the Matrix 是一个开源项目,发布了
Matrix open standard矩阵开放标准 for secure, decentralised, real-time communication, and its Apache licensed 用于安全、分散的实时通信,其 Apache 许可
reference implementations参考实施.

Maintained by the non-profit Matrix.org Foundation, we aim 由非营利组织 Matrix.org 基金会维护,我们的目标是
to create an open platform which is as independent, vibrant and evolving as the Web itself... but for communication.创建一个与 Web 本身一样独立、充满活力和不断发展的开放平台……但用于通信。

As of June 2019, Matrix is out of beta, and the protocol is fully suitable for production usage.截至 2019 年 6 月,Matrix 已结束测试,该协议完全适合生产使用。

Support Matrix支持矩阵

If you share our vision, or are building on top of Matrix, please consider donating...如果您分享我们的愿景,或者正在 Matrix 之上构建,请考虑捐赠...

Support us on Patreon for great rewards including access to the supporters-only podcast, and even a voice at our weekly meetings.在 Patreon 上支持我们可以获得丰厚的回报,包括访问仅限支持者的播客,甚至可以在我们的每周会议上发言。
Find out more at our Patreon page在我们的 Patreon 页面上了解更多信息.

Donorbox捐赠箱

Donorbox

Liberapay自由支付

Liberapay

Patreon帕特隆

Patreon

Cryptocurrency加密货币

You can also send us cryptocurrency:您还可以向我们发送加密货币:
BTC 1LxowEgsquZ3UPZ68wHf8v2MDZw82dVmAE比特币 1LxowEgsquZ3UPZ68wHf8v2MDZw82dVmAE
ETH 0xA5f9a4f9E024F6D727f7afdA9257e22329A97485以太坊 0xA5f9a4f9E024F6D727f7afdA9257e22329A97485

DOT 12JDhAt3Y1NPpcLMxunH2f8DASZemC6nWPC9nkXdT3ui4zJGDOT 12JDhAt3Y1NPpcLMxunH2f8DASZemC6nWPC9nkXdT3ui4zJG

If you share our vision, or are building on top of Matrix, please consider donating. See our current Elliptic supporters!如果您认同我们的愿景,或者正在 Matrix 之上构建,请考虑捐赠。查看我们当前的 Elliptic 支持者!

Messaging讯息

Matrix gives you simple HTTP APIs and SDKs (iOS, Android, Web) to create chatrooms, direct chats and chat bots, complete with end-to-end encryption, file transfer, synchronised conversation history, formatted messages, read receipts and more.Matrix 为您提供简单的 HTTP API 和 SDK(iOS、Android、Web)来创建聊天室、直接聊天和聊天机器人,并配有端到端加密、文件传输、同步对话历史记录、格式化消息、阅读回执等。

Conversations are replicated over all the servers participating in them, meaning there are no single point of control or failure. You can reach any other user in the global Matrix ecosystem of over 40M users, even including those on other networks via bridges.对话在参与其中的所有服务器上复制,这意味着没有单点控制或故障。您可以接触到拥有超过 4000 万用户的全球 Matrix 生态系统中的任何其他用户,甚至包括通过网桥在其他网络上的用户。

Learn more了解更多

End-to-End Encryption端到端加密

Matrix provides state-of-the-art end-to-end-encryption via the Olm and Megolm cryptographic ratchets. This ensures that only the intended recipients can ever decrypt your messages, while warning if any unexpected devices are added to the conversation.Matrix 通过 Olm 和 Megolm 密码棘轮提供最先进的端到端加密。这可确保只有预期的收件人才能解密您的消息,同时在对话中添加任何意外设备时发出警告。

Matrix’s encryption is based on the Double Ratchet Algorithm popularised by Signal, but extended to support encryption to rooms containing thousands of devices. Olm and Megolm are specified as an open standard and implementations are released under the Apache license, independently audited by NCC Group.Matrix 的加密基于 Signal 推广的双棘轮算法,但扩展为支持对包含数千台设备的房间进行加密。 Olm 和 Megolm 被指定为开放标准,其实现在 Apache 许可下发布,由 NCC Group 独立审核。

Learn more了解更多

VoIP网络电话

With the advent of WebRTC, developers gained the ability to exchange high quality voice and video calls – but no standard way to actually route the calls.随着 WebRTC 的出现,开发人员获得了交换高质量语音和视频呼叫的能力——但没有标准的方式来实际路由呼叫。

Matrix is the missing signalling layer for WebRTC. If you are building VoIP into your app, or want to expose your existing VoIP app to a wider audience, building on Matrix’s SDKs and bridges should be a no-brainer.Matrix 是 WebRTC 缺少的信令层。如果您正在将 VoIP 构建到您的应用程序中,或者想将您现有的 VoIP 应用程序公开给更广泛的受众,那么在 Matrix 的 SDK 和桥接器上构建应该是一个明智的选择。

Learn more了解更多

Bridging桥接

Matrix owes its name to its ability to bridge existing platforms into a global open matrix of communication. Bridges are core to Matrix and designed to be as easy to write as possible, with Matrix providing the highest common denominator language to link the networks together.Matrix 之所以得名,是因为它能够将现有平台桥接到全球开放的通信矩阵中。桥接器是 Matrix 的核心,旨在尽可能易于编写,Matrix 提供了将网络连接在一起的最高公分母语言。

The core Matrix team maintains bridges to Slack, IRC, XMPP and Gitter, and meanwhile the wider Matrix community provides bridges for Telegram, Discord, WhatsApp, Facebook, Signal and many more.Matrix 核心团队维护与 Slack、IRC、XMPP 和 Gitter 的桥梁,同时更广泛的 Matrix 社区为 Telegram、Discord、WhatsApp、Facebook、Signal 等提供桥梁。

Learn more了解更多

IOT, VR and more...物联网、虚拟现实等...

Matrix can handle any type of real-time data, not only messaging and VoIP.Matrix 可以处理任何类型的实时数据,不仅是消息和 VoIP。

By building bridges to as many IoT silos as possible, data can be securely published on the Matrix network. IoT solutions built on Matrix are unified, rather than locked to specific vendors, and can even publish or consume Matrix data directly from devices via ultra-low bandwidth transports (100bps or less)通过为尽可能多的 IoT 孤岛搭建桥梁,数据可以安全地发布在 Matrix 网络上。基于 Matrix 构建的物联网解决方案是统一的,而不是锁定到特定供应商,甚至可以通过超低带宽传输(100bps 或更低)直接从设备发布或使用 Matrix 数据

Meanwhile AR and VR vendors are recreating the silos we’ve seen in instant messaging rather than working together towards an open ecosystem. Matrix can be the unifying layer for both communication and world data in AR and VR.与此同时,AR 和 VR 供应商正在重建我们在即时消息中看到的孤岛,而不是共同努力打造一个开放的生态系统。 Matrix 可以成为 AR 和 VR 中通信和世界数据的统一层。

How does it work?它是如何工作的?

Matrix is really a decentralised conversation store rather than a messaging protocol. When you send a message in Matrix, it is replicated over all the servers whose users are participating in a given conversation - similarly to how commits are replicated between Git repositories. There is no single point of control or failure in a Matrix conversation which spans multiple servers: the act of communication with someone elsewhere in Matrix shares ownership of the conversation equally with them. Even if your server goes offline, the conversation can continue uninterrupted elsewhere until it returns.Matrix 实际上是一个去中心化的对话存储而不是消息传递协议。当您在 Matrix 中发送一条消息时,它会在其用户参与给定对话的所有服务器上进行复制——类似于在 Git 存储库之间复制提交的方式。在跨越多个服务器的 Matrix 对话中没有单一的控制点或故障点:与 Matrix 中其他地方的人进行通信的行为与他们平等地共享对话的所有权。即使您的服务器离线,对话也可以在其他地方不间断地继续,直到它返回。

This means that every server has total self-sovereignty over its users data - and anyone can choose or run their own server and participate in the wider Matrix network. This is how Matrix democratises control over communication.这意味着每个服务器都对其用户数据拥有完全的自主权——任何人都可以选择或运行自己的服务器并参与更广泛的 Matrix 网络。这就是 Matrix 使通信控制民主化的方式。

By default, Matrix uses simple HTTPS+JSON APIs as its baseline transport, but also embraces more sophisticated transports such as WebSockets or ultra-low-bandwidth Matrix via CoAP+Noise.默认情况下,Matrix 使用简单的 HTTPS+JSON API 作为其基线传输,但也包含更复杂的传输,例如 WebSockets 或通过 CoAP+Noise 的超低带宽 Matrix。

Next
Here are three Matrix homeservers, each with one client connected.这里有三台 Matrix 家庭服务器,每台都连接了一个客户端。

The clients are all participating in the same Matrix room, which is synchronised across the three participating servers.客户端都参与同一个 Matrix 房间,该房间在三个参与服务器之间同步。
Alice sends a JSON message to a room on her homeserver.Alice 将 JSON 消息发送到她的家庭服务器上的一个房间。 卷曲-XPOST -d '{"msgtype":"m.text", "body":"hello"}' “https://matrix.alice.com/_matrix/client /v2/rooms/ROOM_ID/send/m.room.message ?access_token = ACCESS_TOKEN“ { "event_id": "$YUwRidLecu:alice.com" }
curl -XPOST
 -d '{"msgtype":"m.text", "body":"hello"}'
 "https://matrix.alice.com/_matrix/client
 /v2/rooms/ROOM_ID/send/m.room.message
 ?access_token=ACCESS_TOKEN"

{
  "event_id": "$YUwRidLecu:alice.com"
}
Alice's homeserver adds the JSON to its graph of history, linking it to the most recent unlinked object(s) in the graph.Alice 的家庭服务器将 JSON 添加到其历史图表中,将其链接到图表中最近未链接的对象。

The server then signs the JSON including the signatures of the parent objects to calculate a tamper-resistent signature for the history.然后,服务器对包含父对象签名的 JSON 进行签名,以计算历史的防篡改签名。
The server then sends the signed JSON over HTTPS to any other servers which are participating in the room.然后服务器通过 HTTPS 将签名的 JSON 发送到参与房间的任何其他服务器。 curl –XPOST –H '授权:X-Matrix origin=alice.com,...' –d '{ “TS”:1413414391521, “来源”:“alice.com”, “目的地”:“bob.com”, “PDU”:[{ "event_id": "$YUwRidLecu:alice.com", “内容”: { “身体”:“你好世界”, "msgtype": "m.text" }, ... "pdu_type": "m.room.message", “签名”:{ “matrix.org”:{ "ed25519:auto": "jZXTwAH/7EZ..." } }, “发件人”:“@alice:alice.com” }] }' https://matrix.bob.com:8448/_matrix/federation/v1/send/916d...
curl –XPOST –H 'Authorization: X-Matrix origin=alice.com,...' –d '{
  "ts": 1413414391521,
  "origin": "alice.com",
  "destination": "bob.com",
  "pdus": [{
      "event_id": "$YUwRidLecu:alice.com",
      "content": {
      "body": "hello world",
      "msgtype": "m.text"
    },
    ...
    "pdu_type": "m.room.message",
    "signatures": {
      "matrix.org": {
        "ed25519:auto": "jZXTwAH/7EZ..."
      }
    },
    "sender": "@alice:alice.com"
  }]
}' https://matrix.bob.com:8448/_matrix/federation/v1/send/916d...
The destination servers perform a series of checks on the message:目标服务器对消息执行一系列检查:
  • Validate the message signature to protect against tampering with history验证消息签名以防止篡改历史记录
  • Validate the HTTP request's auth signature to protect against identity spoofing验证 HTTP 请求的授权签名以防止身份欺骗
  • Validate whether Alice's historical permissions allow her to send this particular message验证 Alice 的历史权限是否允许她发送此特定消息
If these checks pass, the JSON is added to the destination servers' graphs.如果这些检查通过,JSON 将被添加到目标服务器的图表中。
Destination clients receive Alice's message with a long-lived GET request. (Clients are free to implement more efficient transports than polling as desired).目标客户端通过长期 GET 请求接收 Alice 的消息。 (客户端可以根据需要自由实施比轮询更有效的传输)。 卷曲“https://matrix.bob.com/_matrix/client /v2/sync?access_token=ACCESS_TOKEN" { “下一批”:“s72595_4483_1934”, “房间”:[{ "room_id": "!KrLWMLDnZAyTapqLWW:alice.com", “事件”:{ “批”: [{ "event_id": "$YUwRidLecu:alice.com", “类型”:“m.room.message”, “内容”: { "body": "我是一条鱼", "msgtype": "m.text", }, “origin_server_ts”:1417731086797, “发件人”:“@alice:alice.com” }], }, }] }
curl "https://matrix.bob.com/_matrix/client
 /v2/sync?access_token=ACCESS_TOKEN"
{
  "next_batch": "s72595_4483_1934",
  "rooms": [{
    "room_id": "!KrLWMLDnZAyTapqLWW:alice.com",
    "events": {
      "batch": [{
        "event_id": "$YUwRidLecu:alice.com",
        "type": "m.room.message",
        "content": {
          "body": "I am a fish",
          "msgtype": "m.text",
        },
        "origin_server_ts": 1417731086797,
        "sender": "@alice:alice.com"
      }],
    },
  }]
}
Bob sends a response to Alice's message, and his server adds his message into his copy of the room's history, linking it to the most recent unlinked object in the graph - Alice's last message.Bob 发送对 Alice 消息的响应,他的服务器将他的消息添加到他的房间历史副本中,将其链接到图中最近未链接的对象 - Alice 的最后一条消息。
Meanwhile, Charlie also responds to Alice's message - racing with Bob's message.与此同时,查理也回复了爱丽丝的消息——与鲍勃的消息赛跑。

Alice, Bob and Charlie's homeservers all have different views of the message history at this point - but Matrix is designed to handle this inconsistency.Alice、Bob 和 Charlie 的家庭服务器此时对消息历史记录都有不同的看法——但 Matrix 旨在处理这种不一致。
Bob's homeserver relays his message through to Alice and Charlie's servers, who accept it.Bob 的家庭服务器将他的消息转发到接受它的 Alice 和 Charlie 的服务器。

At this point Alice and Bob are in sync, but Charlie's room history has split - both messages 2 and 3 follow on from message 1. This is not a problem; Charlie's client will be told about Bob's message and can handle it however it chooses.此时 Alice 和 Bob 是同步的,但是 Charlie 的房间历史已经分裂——消息 2 和 3 都在消息 1 之后。这不是问题; Charlie 的客户将被告知 Bob 的消息,并可以根据自己的选择进行处理。
Charlie's homeserver relays his message through as well, at which point all 3 servers have a consistent view of history again (including the race between Bob and Charlie). All three clients have seen all three messages, and the room history is now back in sync across the participating servers.Charlie 的家庭服务器也转发他的消息,此时所有 3 个服务器再次具有一致的历史视图(包括 Bob 和 Charlie 之间的比赛)。所有三个客户端都看到了所有这三个消息,并且房间历史现在在参与服务器之间重新同步。
Later on, Alice sends another message - her homeserver adds it to her history, and links it to the most recent unlinked objects in the graph: Bob and Charlie's messages.稍后,Alice 发送了另一条消息——她的家庭服务器将其添加到她的历史记录中,并将其链接到图中最近未链接的对象:Bob 和 Charlie 的消息。

This effectively merges the split in history and asserts the integrity of the room (or at least her view of it).这有效地合并了历史上的分裂并维护了房间的完整性(或者至少是她对它的看法)。
Alice's message is then relayed to the other participating servers, which accept it and update their own history with the same rules, ensuring eventual consistency and integrity of the distributed room history.Alice 的消息然后被转发到其他参与的服务器,这些服务器接受它并使用相同的规则更新自己的历史记录,确保分布式房间历史记录的最终一致性和完整性。

An Open Standard开放标准

Simple pragmatic RESTful HTTP/JSON APIs by default默认情况下简单实用的 RESTful HTTP/JSON API

Open specification of the Matrix standardMatrix标准的开放规范

Fully decentralised conversations with no single points of control or failure完全分散的对话,没有单点控制或故障

End-to-end encryption via Olm and Megolm通过 Olm 和 Megolm 进行端到端加密

WebRTC VoIP/Video calling using Matrix signalling使用矩阵信号的 WebRTC VoIP/视频通话

Real-time synchronised history and state across all clients所有客户端的实时同步历史和状态

Integrates with existing 3rd party IDs to authenticate and discover users与现有的第 3 方 ID 集成以验证和发现用户

Maintained by the non-profit Matrix.org Foundation由非营利组织 Matrix.org 基金会维护

Group conversations, read receipts, typing notifications, presence...群组对话、阅读回执、输入通知、在线状态……

Latest News最新消息

Matrix v1.6 releaseMatrix v1.6 发布

Hey all, Matrix 1.6 is out there! Like Matrix 1.5 back in November , this release is largely a maintenance update. Matrix 1.1 through 1.…大家好,Matrix 1.6 已经发布了!与 11 月的 Matrix 1.5 一样,此版本主要是维护更新。矩阵 1.1 到 1……

Read more阅读更多

This Week in Matrix 2023-02-10本周矩阵 2023-02-10

Matrix Live Dept of Spec 📜 Andrew Morgan (anoa) says MSC Status New MSCs: MSC3964: Notifications for room tags MSCs in Final Comment…Matrix Live Dept of Spec 📜 Andrew Morgan (anoa) 说 MSC 状态新 MSC:MSC3964:房间标签 MSC 在最终评论中的通知……

Read more阅读更多

FOSDEM 2023: Matrix’s first physical devroomFOSDEM 2023:Matrix 的第一个物理开发室

For the past two years, FOSDEM couldn’t happen in-person. Fortunately we could help, and Matrix hosted the world's largest free & open…在过去的两年里,FOSDEM 无法亲自举办。幸运的是,我们可以提供帮助,而 Matrix 举办了世界上最大的免费开放......

Read more阅读更多

This Week in Matrix 2023-02-03本周矩阵 2023-02-03

Matrix Live No Matrix Live today, but there will be a lot of Matrix content this weekend at FOSDEM in the Matrix devroom , and Matthew's…Matrix Live 今天没有 Matrix Live,但是本周末在 Matrix 开发室的 FOSDEM 上会有很多 Matrix 内容,而 Matthew 的……

Read more阅读更多
View all posts查看所有帖子

SDKsSDK

Native SDKs for multiple platforms, including:适用于多个平台的原生 SDK,包括:

View all SDKs查看所有 SDK

Open Source开源

Join thousands of other developers in our open source repositories, including:在我们的开源存储库中加入成千上万的其他开发人员,包括:

Synapse突触

JavaScript SDKJavaScript SDK

Android SDK安卓SDK

iOS SDKiOS SDK

View all on GitHub在 GitHub 上查看所有内容

The Matrix Foundation黑客帝国基金会

Matrix is managed through an open governance process, looked after by The Matrix.org Foundation - a non-profit UK Community Interest Company.Matrix 通过开放的治理流程进行管理,由 The Matrix.org Foundation(一家非营利性英国社区利益公司)负责管理。

It acts as a neutral guardian of the Matrix spec, nurturing and growing Matrix for the benefit of the whole ecosystem.它充当 Matrix 规范的中立守护者,为整个生态系统的利益培育和发展 Matrix。

The Guardians are the legal directors of the Foundation, responsible for ensuring that it keeps on mission and neutrally protects the development of Matrix.守护者是基金会的法定董事,负责确保基金会不负使命,中立地保护Matrix的发展。

What people are saying人们在说什么

Thank you to our incredible sponsors感谢我们不可思议的赞助商

UpCloud上云

Matrix.org is generously hosted by UpCloud! Host your homeserver via UpCloud and get a $25 credit.Matrix.org 由 UpCloud 慷慨托管!通过 UpCloud 托管您的家庭服务器并获得 25 美元的赠金。

Learn more了解更多

Clients客户

To connect to the Matrix federation, you will use a client. These are some of the most popular Matrix clients available today, and more are available at try-matrix-now. To get started using Matrix, pick a client and join #matrix:matrix.org. To see more clients in a features matrix, see the Clients Matrix.要连接到 Matrix 联邦,您将使用客户端。这些是当今可用的一些最流行的 Matrix 客户端,更多内容可在 try-matrix-now 上获得。要开始使用 Matrix,请选择一个客户并加入#matrix:matrix.org。要在功能矩阵中查看更多客户,请参阅客户矩阵。

Mobile移动的

Element (Android)元素(安卓)

Element (Android)
Element is a glossy client with an emphasis on performance and usabilityElement 是一个有光泽的客户端,强调性能和可用性

Element (iOS)元素 (iOS)

Element (iOS)
Element is a glossy client with an emphasis on performance and usabilityElement 是一个有光泽的客户端,强调性能和可用性

Ditto Chat同上聊天

Ditto Chat
React Native client for iOS and Android适用于 iOS 和 Android 的 React Native 客户端

FluffyChat软聊

FluffyChat
Cute instant messaging app for all platforms.适用于所有平台的可爱即时消息应用程序。

Hydrogen

Hydrogen
Web client focusing on personal messaging, performance, offline usage and wide browser support, including mobile!Web 客户端侧重于个人消息传递、性能、离线使用和广泛的浏览器支持,包括移动!

NeoChat新聊天

NeoChat
A Matrix client for desktop and mobile适用于桌面和移动设备的 Matrix 客户端

quadrix.chatquadrix.chat

quadrix.chat
Minimal Matrix client available in all main app stores所有主要应用商店均提供 Minimal Matrix 客户端

SchildiChat (Android)SchildiChat (安卓)

SchildiChat (Android)
Based on Element, with a more traditional instant messaging experience.基于Element,具有更传统的即时通讯体验。

Syphon虹吸管

Syphon
A not for profit, open source matrix client with a focus on privacy and ease of use一个不以营利为目的的开源矩阵客户端,专注于隐私和易用性

Desktop桌面

Element Web/Desktop元素网络/桌面

Element Web/Desktop
Element is a glossy web client with an emphasis on performance and usabilityElement 是一个有光泽的网络客户端,强调性能和可用性

Cinny辛妮

Cinny
A Matrix client where you can enjoy the conversation using simple, elegant and secure interface.一个 Matrix 客户端,您可以在其中使用简单、优雅和安全的界面享受对话。

FluffyChat软聊

FluffyChat
Cute instant messaging app for all platforms.适用于所有平台的可爱即时消息应用程序。

Fractal分形

Fractal
Fractal is a Matrix Client written in Rust.Fractal 是一个用 Rust 编写的矩阵客户端。

gotktrix求教

gotktrix
Matrix client in Go and GTK4.Go 和 GTK4 中的 Matrix 客户端。

Hydrogen

Hydrogen
Web client focusing on personal messaging, performance, offline usage and wide browser support, including mobile!Web 客户端侧重于个人消息传递、性能、离线使用和广泛的浏览器支持,包括移动!

kazv卡兹夫

kazv
A convergent qml/kirigami client based on libkazv.基于 libkazv 的聚合 qml/kirigami 客户端。

Mirage海市蜃楼

Mirage
A fancy, customizable, keyboard-operable Matrix client一个精美的、可定制的、键盘操作的 Matrix 客户端

NeoChat新聊天

NeoChat
A Matrix client for desktop and mobile适用于桌面和移动设备的 Matrix 客户端

Nheko尼科

Nheko
A Qt/C++17 desktop client for MatrixMatrix 的 Qt/C++17 桌面客户端

quadrix.chatquadrix.chat

quadrix.chat
Minimal Matrix client available in all main app stores所有主要应用商店均提供 Minimal Matrix 客户端

Quaternion四元数

Quaternion
A Qt5-based IM client for MatrixMatrix 的基于 Qt5 的 IM 客户端

SchildiChat Web/DesktopSchildiChat Web/桌面版

SchildiChat Web/Desktop
Based on Element, with a more traditional instant messaging experience.基于Element,具有更传统的即时通讯体验。

Seaglass海玻璃

Seaglass
A truly native Matrix client for macOS适用于 macOS 的真正原生 Matrix 客户端

Spectral光谱

Spectral
A glossy client for Matrix, written in QtQuick Controls 2 and C++Matrix 的一个有光泽的客户端,用 QtQuick Controls 2 和 C++ 编写

Syphon虹吸管

Syphon
A not for profit, open source matrix client with a focus on privacy and ease of use一个不以营利为目的的开源矩阵客户端,专注于隐私和易用性

Terminal-based / Command Line基于终端/命令行

gomuks果木

gomuks
A terminal Matrix client written in Go用 Go 编写的终端 Matrix 客户端

matrix-commander矩阵指挥官

matrix-commander
Simple CLI-based Matrix client for sending and receiving with support for end-to-end encryption, emoji verification and much more简单的基于 CLI 的 Matrix 客户端,用于发送和接收,支持端到端加密、表情符号验证等

matrixcli矩阵客户端


Command line Matrix client.命令行 Matrix 客户端。

weechat-matrix微信矩阵

weechat-matrix
Weechat Matrix protocol script written in pythonpython写的Weechat Matrix协议脚本

Web网络

Element Web/Desktop元素网络/桌面

Element Web/Desktop
Element is a glossy web client with an emphasis on performance and usabilityElement 是一个有光泽的网络客户端,强调性能和可用性

Cinny辛妮

Cinny
A Matrix client where you can enjoy the conversation using simple, elegant and secure interface.一个 Matrix 客户端,您可以在其中使用简单、优雅和安全的界面享受对话。

FluffyChat软聊

FluffyChat
Cute instant messaging app for all platforms.适用于所有平台的可爱即时消息应用程序。

Hydrogen

Hydrogen
Web client focusing on personal messaging, performance, offline usage and wide browser support, including mobile!Web 客户端侧重于个人消息传递、性能、离线使用和广泛的浏览器支持,包括移动!

quadrix.chatquadrix.chat

quadrix.chat
Minimal Matrix client available in all main app stores所有主要应用商店均提供 Minimal Matrix 客户端

SchildiChat Web/DesktopSchildiChat Web/桌面版

SchildiChat Web/Desktop
Based on Element, with a more traditional instant messaging experience.基于Element,具有更传统的即时通讯体验。

Nintendo 3DS任天堂 3DS

Miitrix米特里克斯

Miitrix
A Matrix client for the Nintendo 3DS任天堂 3DS 的 Matrix 客户端

Bridges桥梁

An important idea in Matrix is Interoperability. This means that Matrix is open to exchanging data and messages with other platforms using an Open Standard. We refer to the connection to other platforms as bridging.Matrix 中的一个重要思想是互操作性。这意味着 Matrix 可以使用开放标准与其他平台交换数据和消息。我们将与其他平台的连接称为桥接。

For a thorough examination of the different methods of bridging, and a discussion of the terminology involved, check out How do I bridge thee? Let me count the ways...要彻底检查不同的桥接方法,并讨论所涉及的术语,请查看我如何桥接你?让我来计算一下...

Portal rooms: these control chunks of room aliases namespace. For example, #freenode_#channelname:matrix.org corresponds to #channelname on Freenode. In this way, Matrix users can transparently join IRC channels on Freenode. Portal rooms are typically managed by the remote network's side of the room.门户房间:这些房间别名命名空间的控制块。例如,#freenode_#channelname:matrix.org 对应于 Freenode 上的#channelname。通过这种方式,Matrix 用户可以透明地加入 Freenode 上的 IRC 频道。门户房间通常由房间的远程网络端管理。

Plumbed rooms: these rooms are "plumbed" into one or more specific remote rooms by configuring a bridge (which can be run by anyone). For instance, #matrix:matrix.org is plumbed into #matrix on Freenode, matrixdotorg/#matrix on Slack, etc. Access control for Matrix users is necessarily managed by the Matrix side of the room. This is useful for using Matrix to link together different communities.Plumbed rooms:这些房间通过配置桥(任何人都可以运行)“连接”到一个或多个特定的远程房间。例如,#matrix:matrix.org 在 Freenode 上接入#matrix,在 Slack 上接入 matrixdotorg/#matrix 等。Matrix 用户的访问控制必须由房间的 Matrix 端管理。这对于使用 Matrix 将不同的社区联系在一起很有用。

Bridgebot-style: in this case, messages in either direction are conveyed by a bot residing on the given platform. This is a sub-optimal experience because metadata is lost. For example, all messages might be sent by the same bot, but with the message text prefixed with the name of the original sender.Bridgebot 风格:在这种情况下,任一方向的消息都由驻留在给定平台上的机器人传送。这是一种次优体验,因为元数据丢失了。例如,所有消息都可能由同一个机器人发送,但消息文本以原始发件人的姓名为前缀。

Puppeting: solves the problems of Bot-based bridging by "puppeting", meaning controlling, a user on the other side of the bridge. This means that to native users, they see messages as being sent from the correct sender. Double-puppeting means this is done in both directions of the bridge. This is the most preferred way of implementing a Matrix bridge.Puppeting:通过“puppeting”解决基于 Bot 的桥接问题,意思是控制桥另一端的用户。这意味着对于本机用户来说,他们认为消息是从正确的发件人发送的。双木偶意味着这是在桥的两个方向上完成的。这是实施 Matrix 网桥的最佳方式。


IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


An application service gateway from Matrix.org for bridging between IRC networks and Matrix, written using matrix-appservice-node. You can get the code on GitHub.来自 Matrix.org 的应用程序服务网关,用于桥接 IRC 网络和 Matrix,使用 matrix-appservice-node 编写。你可以在 GitHub 上获取代码。

Supports dynamically bridging IRC channels on demand, synchronised user-lists, and other goodness.支持按需动态桥接 IRC 频道、同步用户列表和其他优点。


A bouncer-style Matrix IRC bridge with focus on simplicity for personal use on your own homeserver. No complex configuration files or databases required.保镖式 Matrix IRC 桥,专注于在您自己的家庭服务器上供个人使用的简单性。不需要复杂的配置文件或数据库。

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


This project bridges Slack to Matrix.该项目将 Slack 与 Matrix 联系起来。

The bridge allows you to connect Matrix rooms and Slack channels together. It supports bridging via webhooks or via a dedicated slack integration (using the Events API). The bridge supports nearly all matrix message types and client features with active development on new features as they arrive. Check the list below for feature support.该桥允许您将 Matrix 房间和 Slack 通道连接在一起。它支持通过 webhook 或通过专用的 slack 集成(使用事件 API)进行桥接。该桥支持几乎所有矩阵消息类型和客户端功能,并在新功能到达时积极开发。检查下面的列表以获取功能支持。

The bridge is regularly hacked on and is accepting new PRs for bugfixes and features, come and get involved!这座桥经常被黑客攻击,并且正在接受新的错误修复和功能的 PR,快来参与吧!

✓ Direct (1:1) Chats✓ 直接 (1:1) 聊天
✓ Group (‘Channel’) Chats✓ 群组(“频道”)聊天
✗ History✗ 历史
✓ Typing notifications and read receipts✓ 输入通知和阅读回执
✓ Text Messages✓ 短信
✓ Reactions✓ 反应
✓ Redactions/Deleting Events✓ 编辑/删除事件
✓ Threading/Replies✓ 线程/回复
✓ Formatted Text Content✓ 格式化文本内容
✓ Media Content ✓ 媒体内容

When using Element with the default integrations manager (scalar.vector.im), you can enable the Slack integration per-room. Click the "Room info" button in the top right corner of the page and then click "Add widgets, bridges & bots".将 Element 与默认集成管理器 (scalar.vector.im) 结合使用时,您可以为每个房间启用 Slack 集成。单击页面右上角的“房间信息”按钮,然后单击“添加小部件、桥接器和机器人”。

Get it from GitHub!从 GitHub 获取它!


A Matrix-Slack puppeting bridge. Written in Go using a fork of slack-goMatrix-Slack 木偶桥。使用 slack-go 的分支用 Go 编写

✓ 1:1 and group DMs✓ 1:1 和群组 DM
✓ Channels✓ 渠道
✓ Slack connect channels✓ 松弛连接通道
✓ Plain text and formatted messages✓ 纯文本和格式化消息
✓ Threads✓ 线程
✓ Message redaction/deletion✓ 消息编辑/删除
✓ Reactions✓ 反应
✗ Custom emojis (Slack -> Matrix only)✗ 自定义表情符号(仅限 Slack -> Matrix)
✓ Own read status sync✓ 自己的阅读状态同步
✓ Double puppeting✓ 双木偶
✗ Backfilling history✗ 回填历史
✗ Relaybot mode✗ 接力机器人模式
✓ End-to-bridge encryption✓ 端到桥加密


mx-puppet-slack bridges slack and matrix together via (double)puppeting. Additionally a relay mode can be enabled.mx-puppet-slack 通过(双)木偶将 slack 和 matrix 桥接在一起。此外,可以启用中继模式。

✓ Direct (1:1) Chats✓ 直接 (1:1) 聊天
✓ Group ('Channel') Chats✓ 群组(“频道”)聊天
✓ Plain Text✓ 纯文本
✓ Formatted Messages✓ 格式化消息
✓ Media/files✓ 媒体/文件
✓ Redactions/Deletions✓ 编辑/删除
✓ Presence (Slack → Matrix only)✓ 存在(仅 Slack → Matrix)
✓ Typing notifications (Slack → Matrix only)✓ 输入通知(仅限 Slack → Matrix)
✓ Replies✓ 回复
✓ Edits✓ 编辑
✓ Reactions✓ 反应
✓ Stickers✓ 贴纸
✓ Multi-user✓ 多用户
✓ Multi-team✓ 多团队
✓ Initiate chats from matrix✓ 从矩阵发起聊天
✗ History ✗ 历史

This bridge is part of the mx-puppet-bridge suite of puppeting bridges.这座桥是木偶桥的 mx-puppet-bridge 套件的一部分。

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


mx-puppet-discord bridges discord slack and matrix together via (double)puppeting. Additionally, a relay mode can be enabled.mx-puppet-discord 通过(双)木偶将 discord slack 和 matrix 桥接在一起。此外,可以启用中继模式。

✓ Direct (1:1) Chats ✓ DM Group Chats ✓ Plain Text✓ 直接 (1:1) 聊天 ✓ DM 群聊 ✓ 纯文本
✓ Formatted Messages✓ 格式化消息
✓ Media/files✓ 媒体/文件
✓ Redactions/Deletions✓ 编辑/删除
✓ Presence (both ways)✓ 存在(双向)
✓ Typing notifications (both ways)✓ 输入通知(双向)
✓ Replies✓ 回复
✓ Edits✓ 编辑
✓ Reactions✓ 反应
✓ Stickers✓ 贴纸
✓ Multi-user✓ 多用户
✓ Friends management✓ 好友管理
✓ Initiate chats from matrix✓ 从矩阵发起聊天
✗ History✗ 历史
✗ Threads ✗ 线程

This bridge is part of the mx-puppet-bridge suite of puppeting bridges.这座桥是木偶桥的 mx-puppet-bridge 套件的一部分。


A Matrix-Discord puppeting bridge. Written in Go using a fork of discordgoMatrix-Discord 木偶桥。使用 discordgo 的分支用 Go 编写

✓ 1:1 and group DMs✓ 1:1 和群组 DM
✓ Text channels✓ 文字频道
✗ Forum channels✗ 论坛频道
✓ Automatic space creation for guilds and guild channel categories✓ 公会和公会频道类别的自动空间创建
✓ Plain text and formatted messages✓ 纯文本和格式化消息
✓ Replies✓ 回复
✓ Threads✓ 线程
✓ Message redaction/deletion✓ 消息编辑/删除
✓ Reactions✓ 反应
✓ Custom emojis (Discord -> Matrix only)✓ 自定义表情符号(仅限 Discord -> Matrix)
✓ Own read status sync✓ 自己的阅读状态同步
✓ Double puppeting✓ 双木偶
✗ Backfilling history✗ 回填历史
✓ Login by scanning QR or providing token✓ 扫描二维码或提供令牌登录
✗ Relaybot mode✗ 接力机器人模式
✓ End-to-bridge encryption✓ 端到桥加密


This project bridges Discord to Matrix via the Application API.该项目通过应用程序 API 将 Discord 连接到 Matrix。

✓ Plain Text✓ 纯文本
✓ Formatted Messages✓ 格式化消息
✓ Media/files✓ 媒体/文件
✓ Redactions/Deletions✓ 编辑/删除
✓ Presence (Discord → Matrix only)✓ 存在(仅限 Discord → Matrix)
✓ Typing notifications (Discord → Matrix only)✓ 打字通知(仅限 Discord → Matrix)
✓ Replies✓ 回复
✓ Stickers✓ 贴纸
✓ Puppeting ( Can configure to puppet via a script)✓ Puppeting(可以通过脚本配置为 puppet)
✗ Group/1:1 Chats✗ 群组/1:1 聊天
✗ Calls✗ 通话

You can self host matrix-appservice-discord in order to bridge your rooms from Discord, it is also available from t2bot.io at https://t2bot.io/discord.您可以自行托管 matrix-appservice-discord 以便从 Discord 桥接您的房间,它也可以从 t2bot.io 获得,网址为 https://t2bot.io/discord。


A simple bridge between Matrix and Discord.Matrix 和 Discord 之间的简单桥梁。

✓ Plain Text✓ 纯文本
✓ Discord emojis bridged as inline images✓ Discord 表情符号桥接为内联图像
✓ Files✓ 文件
✓ Redactions/Deletions✓ 编辑/删除
✓ Typing notifications✓ 打字通知
✓ Replies✓ 回复
✓ Puppeting (Optional Appservice on Matrix, webhooks on Discord)✓ Puppeting(Matrix 上的可选 Appservice,Discord 上的 webhooks)
✗ Group/1:1 Chats ✗ 群组/1:1 聊天

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


A Matrix-Google Chat puppeting bridge. Written in Python using a fork of hangups and mautrix-python.Matrix-Google Chat 木偶桥。使用挂断和 mautrix-python 的分支用 Python 编写。

✓ 1:1 chats✓ 1:1 聊天
✓ Group chats✓ 群聊
✓ Plain text✓ 纯文本
✓ Threads✓ 线程
✓ Formatted messages✓ 格式化消息
✓ Images✓ 图片
✗ Voice messages✗ 语音信息
✓ Other file types✓ 其他文件类型
✓ Typing notifications and read receipts✓ 输入通知和阅读回执
✓ Double puppeting✓ 双木偶
✓ Backfilling history and missed messages✓ 回填历史和遗漏消息
✓ End-to-bridge encryption✓ 端到桥加密

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


A Matrix-QQ puppeting bridge based on MiraiGo and mautrix-go.基于 MiraiGo 和 mautrix-go 的 Matrix-QQ 傀儡桥。

✓ Private chat✓ 私聊
✓ Group chat✓ 群聊
✓ Plain text message✓ 纯文本消息
✓ Most message media (photo, video, voice, file, location)✓ 大多数消息媒体(照片、视频、语音、文件、位置)
✓ Reply and mention✓ 回复并提及
✓ Double puppeting ✓ 双木偶

Current feature list at https://github.com/duo/matrix-qq#features--roadmap当前功能列表在 https://github.com/duo/matrix-qq#features--roadmap


matrix-tencent-forward-bot (mtfb) is a forward bot between Matrix and Tencent QQ.matrix-tencent-forward-bot (mtfb) 是 Matrix 和腾讯 QQ 之间的转发机器人。

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


A Matrix-Wechat puppeting bridge based on mautrix-go.基于mautrix-go的矩阵-微信傀儡桥。

✓ Private chat✓ 私聊
✓ Group chat✓ 群聊
✓ Plain text message✓ 纯文本消息
✓ Most message media (photo, video, voice, file, location)✓ 大多数消息媒体(照片、视频、语音、文件、位置)
✓ Reply and mention✓ 回复并提及
✓ Double puppeting ✓ 双木偶

Current feature list at https://github.com/duo/matrix-wechat#features--roadmap当前功能列表在 https://github.com/duo/matrix-wechat#features--roadmap


matrix-appservice-wechaty is a new project to bridge Matrix with WeChat.matrix-appservice-wechaty 是 Matrix 与微信桥接的新项目。

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


A Matrix-WhatsApp puppeting bridge. Written in Go using whatsmeowMatrix-WhatsApp 木偶桥。使用 whatsmeow 用 Go 编写

✓ 1:1 chats✓ 1:1 聊天
✓ Group chats✓ 群聊
✓ Status updates✓ 状态更新
✓ Plain text and formatted messages✓ 纯文本和格式化消息
✓ Message redaction/deletion✓ 消息编辑/删除
✓ Most message media (photos, videos, voice messages, documents, locations, contacts)✓ 大多数消息媒体(照片、视频、语音消息、文档、位置、联系人)
✓ Replies and mentions✓ 回复和提及
✓ Presence, read receipts and typing notifications✓ 状态、阅读回执和打字通知
✓ Double puppeting✓ 双木偶
✓ Backfilling history and missed messages✓ 回填历史和遗漏消息
✓ End-to-bridge encryption✓ 端到桥加密


A Matrix-Twilio relaybot bridge for WhatsApp Business. Can also be used for Twilio SMS bridging with small modifications. Written in Python using mautrix-python.适用于 WhatsApp Business 的 Matrix-Twilio 中继机器人桥。也可用于 Twilio SMS 桥接,只需稍作修改。使用 mautrix-python 用 Python 编写。

✓ 1:1 chats✓ 1:1 聊天
✗ Group chats✗ 群聊
✓ Plain text and formatted messages✓ 纯文本和格式化消息
✓ Images, videos and files✓ 图片、视频和文件

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


A LinkedIn Messaging <-> Matrix puppeting bridge. Written in Python using linkedin-messaging-api and mautrix-python.LinkedIn Messaging <-> Matrix 傀儡桥。使用 linkedin-messaging-api 和 mautrix-python 用 Python 编写。

✓ 1:1 chats✓ 1:1 聊天
✓ Group chats✓ 群聊
✗ User Profiles, Companies or anything else outside the LinkedIn Messaging functionality✗ 用户个人资料、公司或领英消息功能之外的任何其他内容
✓ Plain text messages (rich text is not supported by LinkedIn)✓ 纯文本消息(LinkedIn 不支持富文本)
✓ Most message media (photos, videos, GIFs, files)✓ 大多数消息媒体(照片、视频、GIF、文件)
✓ Mentions✓ 提及
✓ Message redaction/delete✓ 消息编辑/删除
✓ Double puppeting✓ 双木偶
✓ Backfilling history and missed messages✓ 回填历史和遗漏消息
✓ End-to-bridge encryption✓ 端到桥加密

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


Connect to RSS and Twitter feeds via Ryan Rix's feedbot!通过 Ryan Rix 的 feedbot 连接到 RSS 和 Twitter 提要!

Check it out from Ryan's git repo从 Ryan 的 git repo 中查看

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


Bridges between a Murmur server and a Matrix channel.Murmur 服务器和 Matrix 通道之间的桥梁。
ICE is used to communicate with the Murmur server, matrix-nio is used for Matrix.ICE 用于与 Murmur 服务器通信,matrix-nio 用于 Matrix。

✓ Bridges text messages bidirectional✓ 桥接短信双向
✗ 1:1 chats✗ 1:1 聊天
✓ Bridge connect / disconnect notifies to Matrix✓ 桥接/断开通知矩阵
✓ Bridges images from Matrix to Mumble✓ 从 Matrix 到 Mumble 的桥接图像
✗ Bridges images from Mumble to Matrix✗ 将图像从 Mumble 连接到 Matrix
✓ Configurable selection of which Murmur channels to be bridged.✓ 可配置选择要桥接的 Murmur 通道。
✓ Easy to add message handlers to filter or modify messages before bridging. ✓ 易于添加消息处理程序以在桥接之前过滤或修改消息。


A simple Matrix to Mumble (Murmur) bridge using gRPC. Currently, it bridges one channel in Matrix to a server in Murmur.使用 gRPC 的简单矩阵到 Mumble (Murmur) 桥接。目前,它将 Matrix 中的一个通道桥接到 Murmur 中的服务器。

✗ Direct Chats✗ 直接聊天
✓ Presence (using messages)✓ 存在(使用消息)
✓ Formatted Text Content✓ 格式化文本内容
✓ Image Content✓ 图片内容
✗ Calls ✗ 通话

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


A simple Android SMS (text message) <--> Matrix bridge. With this bridge you can get all your text messages on Matrix and reply to them.一个简单的Android SMS(短信)<--> Matrix桥。使用此桥,您可以在 Matrix 上获取所有短信并回复它们。

Get it and report issues at github, or install from F-Droid.在 github 获取并报告问题,或从 F-Droid 安装。


An Android app that wraps mautrix-imessage to bridge SMS from your Android phone to Matrix.一个 Android 应用程序,它包装了 mautrix-imessage 以将 SMS 从您的 Android 手机桥接到 Matrix。

Setup instructions on docs.mau.fi.docs.mau.fi 上的设置说明。

✓ SMS (text messages)✓ 短信(短信)
✓ MMS (photos and other attachments)✓ 彩信(照片和其他附件)
✗ RCS✗ 无线电通信系统
✓ Group chats✓ 群聊
✓ Backfilling messages from Android SMS database✓ 从 Android 短信数据库回填消息
✓ Double puppeting (for backfilling)✓ 双木偶(用于回填)
✓ End-to-bridge encryption✓ 端到桥加密


A Matrix puppeting bridge, which allows you to bridge matrix rooms to SMS with one outgoing telephone number only. It is build on top of matrix-spring-boot-sdk and written in Kotlin.一个 Matrix 木偶桥,它允许您仅使用一个传出电话号码将 Matrix 房间桥接到 SMS。它建立在 matrix-spring-boot-sdk 之上并用 Kotlin 编写。

  • Private chats and groups on matrix-side矩阵侧的私人聊天和群组
  • Send and receive SMS text messages 发送和接收 SMS 短信
  • Puppeting傀儡
  • Use room aliases to have one room for each incoming telephone number使用房间别名为每个来电号码分配一个房间
  • Bot for automated sms sending用于自动发送短信的机器人
    • Creates rooms for you为您创建房间
    • Writes messages for you为你写信息
    • Allows you to send SMS at a specific time and date允许您在特定时间和日期发送短信
    • Invites users for you, when room gets created创建房间时为您邀请用户

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


This is a library for bridging matrix and skype,api lib used go-skypeapi.这是一个桥接matrix和skype的库,api lib使用go-skypeapi。

✓ Create group/private conversation✓ 创建群组/私人对话
✓ Group conversations✓ 小组对话
✓ Private conversation✓ 私人谈话
✓ Group conversations✓ 小组对话
✓ Kick/invite/leave/join(group)✓踢/邀请/离开/加入(组)
✓ Generate invitation link(group)✓ 生成邀请链接(群)
✓ Quote message(Circular references may have some bugs)✓ 引用消息(循环引用可能有一些错误)
✓ Mention someone(message)✓ 提及某人(消息)
✓ delete message✓ 删除消息
✓ Media message✓ 媒体信息
✓ Picture message✓ 图片信息
✓ Group avatar/name change✓ 群组头像/更名
✓ User name/avatar change ✓ 用户名/头像更改


This is a Matrix bridge for Skype. It uses skype-http under the hood.这是 Skype 的 Matrix 网桥。它在底层使用 skype-http。

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


A matrix-bridge written in Golang to let you read and write your emails in matrix. You can have multiple email accounts in different private rooms.用 Golang 编写的矩阵桥,让您可以在矩阵中读写电子邮件。您可以在不同的私人房间中拥有多个电子邮件帐户。

Features特征

  • Receiving and sending emails接收和发送电子邮件
  • Use markdown for writing emails使用 markdown 写邮件
  • Viewing HTML messages查看 HTML 消息
  • And many more. Visit EmailBridge还有很多。访问 EmailBridge

An application service gateway for bridging between Email and Matrix, written using Spring Boot (Java) using matrix-java-sdk. You can get the code on github.用于在 Email 和 Matrix 之间桥接的应用程序服务网关,使用 matrix-java-sdk 使用 Spring Boot (Java) 编写。你可以在github上获取代码。

Features:特征:

  • Matrix to Email forwarding矩阵到电子邮件转发
  • Email to Matrix forwarding电子邮件到 Matrix 转发
  • Email <-> Matrix <-> Email forwarding, if several bridge users are present within a room电子邮件 <-> 矩阵 <-> 电子邮件转发,如果一个房间内有多个网桥用户
  • Fully configuration notification templates, per event每个事件的完全配置通知模板
  • Subscription portal where E-mail users can manage their notifications电子邮件用户可以管理其通知的订阅门户
Matrix-email Bridge from taki tam

Matrix-email Bridge from taki tam来自 taki tam 的 Matrix-email Bridge

https://gitlab.com/takitam_matrix/matrix-email-bridgehttps://gitlab.com/takitam_matrix/matrix-email-bridge


This repo contains (almost) transparent matrix gateway. Following features are implemented:这个 repo 包含(几乎)透明矩阵网关。实现了以下功能:

  • Sending and receiving emails, both plaintext and HTML.发送和接收电子邮件,包括纯文本和 HTML。
    Bridge will dynamically create rooms and invite matrix users/mail puppets when new message appears, see 'Usage' section.当新消息出现时,Bridge 将动态创建房间并邀请矩阵用户/邮件傀儡,请参阅“使用”部分。
  • Turning matrix room into something like mailing list.将矩阵室变成类似邮件列表的东西。
  • Sending and receiving attachments (looks ugly, see end of file).发送和接收附件(看起来很丑,见文件末尾)。

Architecture overview架构概述

+-----------+                                        +-----------+
|           |             +---------------+          |           |
|           >===AS=API====>               >===SMTP===>           |
| Matrix HS |             |  Matrix-email |          |   Email   |
|           <===Client/===<     Bridge    <===LMTP===<   Server  |
|           |   AS API    |               |          |           |
|           |             +-------A-------+          |           |
|           |                     |                  |           |
+-----------+                     |                  +-----------+
                             +----V----+
                             |Bridge DB|
                             |  (SQL)  |
                             +---------+

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


This is a puppeted Facebook bridge for Matrix.这是 Matrix 的傀儡 Facebook 桥。

Get it from GitHub.从 GitHub 获取它。


A Matrix-Facebook Messenger puppeting bridge. Written in Python using maufbapi and mautrix-python.Matrix-Facebook Messenger 木偶桥。使用 maufbapi 和 mautrix-python 用 Python 编写。

✓ 1:1 chats✓ 1:1 聊天
✓ Group chats✓ 群聊
✗ Pages, Facebook groups or anything else outside Messenger✗ 页面、Facebook 群组或 Messenger 以外的任何其他内容
✓ Plain text and formatted messages✓ 纯文本和格式化消息
✓ Most message media (photos, videos, voice messages, files, locations)✓ 大多数消息媒体(照片、视频、语音消息、文件、位置)
✓ Replies and mentions✓ 回复和提及
✓ Message redaction/unsend✓ 消息编辑/取消发送
✓ Read receipts✓ 阅读收据
✓ Double puppeting✓ 双木偶
✓ Backfilling history and missed messages✓ 回填历史和遗漏消息
✓ End-to-bridge encryption✓ 端到桥加密

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


This is a Matrix bridge for Apple iMessage. It connects your homeserver to Messages.app这是 Apple iMessage 的矩阵桥。它将您的家庭服务器连接到 Messages.app

Find the source on GitHub.在 GitHub 上找到源代码。


A Matrix-iMessage puppeting bridge.Matrix-iMessage 木偶桥。

✓ iMessage and SMS chats✓ iMessage 和短信聊天
✓ Photos and other attachments✓ 照片和其他附件
✓ Replies (iMessage->Matrix only)✓ 回复(仅限 iMessage->Matrix)
✓ Tapbacks (iMessage->Matrix only)✓ Tapbacks(仅限 iMessage->Matrix)
✓ Double puppeting✓ 双木偶
✓ Backfilling missed messages✓ 回填错过的消息
✓ End-to-bridge encryption✓ 端到桥加密

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


A Matrix-KakaoTalk puppeting bridge based on mautrix-python that uses node-kakao as its backend.基于 mautrix-python 的 Matrix-KakaoTalk 木偶桥,使用 node-kakao 作为后端。

✓ 1:1 chats✓ 1:1 聊天
✓ Group chats✓ 群聊
✓ Text messages✓ 短信
✓ Most message media (images, videos, voice messages, files)✓ 大多数消息媒体(图像、视频、语音消息、文件)
✗ Stickers✗ 贴纸
✗ Message reactions✗ 消息反应
✗ Open Profiles✗ 打开个人资料
✗ Voice calls✗ 语音通话
✓ Replies and mentions✓ 回复和提及
✓ Message redaction/unsend✓ 消息编辑/取消发送
✓ Read receipts✓ 阅读收据
✓ Double puppeting✓ 双木偶
✓ Backfilling history and missed messages✓ 回填历史和遗漏消息
✓ End-to-bridge encryption✓ 端到桥加密

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


This project bridges Mattermost to Matrix. Supported features:该项目将 Mattermost 与 Matrix 联系起来。支持的功能:

✓ Formatted messages✓ 格式化消息
✓ Join/leave✓ 加入/离开
✓ Attachments✓ 附件
✓ Username Substitutions✓ 用户名替换
✓ Edits✓ 编辑
✓ Replies✓ 回复
✓ Redaction✓ 编辑
✓ Typing notification Mattermost -> Matrix)✓ 输入通知 Mattermost -> Matrix)
✗ Direct messages✗ 直接消息
✗ Presence✗ 存在感
✗ Reactions ✗ 反应

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


General purpose puppeting bridges using libpurple and other backends.使用 libpurple 和其他后端的通用木偶桥。

This bridge is in very active development currently and intended mainly for experimentation and evaluation purposes.该桥目前正处于非常活跃的开发阶段,主要用于实验和评估目的。

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


The project has been discontinued.该项目已停止。

A bridge that connects a user's Keybase account to their Matrix account.将用户的 Keybase 帐户连接到他们的 Matrix 帐户的桥梁。

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


This is a Matrix bridge for GroupMe.这是 GroupMe 的矩阵桥。

You will need to acquire your Access Token from GroupMe.您需要从 GroupMe 获取您的访问令牌。

Get your access token by going to https://dev.groupme.com/ and clicking the "Access Token" link in the top right.通过转到 https://dev.groupme.com/ 并单击右上角的“访问令牌”链接来获取您的访问令牌。


mx-puppet-groupme is a puppeting GroupMe bridge.mx-puppet-groupme 是一个傀儡 GroupMe 桥。

✓ DMs✓ 私信
✓ Group chats✓ 群聊
✓ Plain text✓ 纯文本
✓ Formatted messages✓ 格式化消息
✓ Media/files✓ 媒体/文件
✓ Typing notifications✓ 打字通知
✓ Read receipts (DMs only)✓ 阅读回执(仅限 DM)
✓ Replies✓ 回复
✓ Likes (reactions)✓ 喜欢(反应)
✓ Multi-user✓ 多用户
✓ Initiate DMs from Matrix✓ 从 Matrix 发起 DM
✗ Initiate group chats from Matrix✗ 从 Matrix 发起群聊
✗ History✗ 历史

This bridge is part of the mx-puppet-bridge suite of puppeting bridges.这座桥是木偶桥的 mx-puppet-bridge 套件的一部分。

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


A Matrix-LINE puppeting bridge based on running LINE's Chrome extension in Puppeteer. Fork of mautrix-amp.基于在 Puppeteer 中运行 LINE 的 Chrome 扩展的 Matrix-LINE 木偶桥。 mautrix-amp 的分支。

✓ 1:1 chats✓ 1:1 聊天
✓ Group chats✓ 群聊
✗ Voice calls✗ 语音通话
✗ LINE Keep, LINE News, LINE Clova, or anything else outside the Messenger App✗ LINE Keep、LINE News、LINE Clova 或 Messenger 应用程序以外的任何其他内容
✓ Read receipts✓ 阅读收据
✓ Double puppeting✓ 双木偶
✓ Backfilling history and missed messages✓ 回填历史和遗漏消息
✓ End-to-bridge encryption✓ 端到桥加密

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


A Matrix-Instagram DM puppeting bridge. Written in Python using mauigpapi and mautrix-python.Matrix-Instagram DM 木偶桥。使用 mauigpapi 和 mautrix-python 用 Python 编写。

✓ 1:1 chats✓ 1:1 聊天
✓ Group chats✓ 群聊
✗ Stories✗ 故事
✗ Feed✗ 饲料
✓ Plain text✓ 纯文本
✗ Formatted messages✗ 格式化消息
✓ Message reactions✓ 消息反应
✓ Message redactions✓ 消息编辑
✓ Photos, videos and gifs✓ 照片、视频和 gif
✗ Arbitrary files✗ 任意文件
✓ Typing notifications and read receipts✓ 输入通知和阅读回执
✗ Presence✗ 存在感
✓ Double puppeting✓ 双木偶
✓ Backfilling history and missed messages✓ 回填历史和遗漏消息
✓ End-to-bridge encryption✓ 端到桥加密

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


A Matrix-Signal puppeting bridge. Written in Python using mautrix-python. Communicates with Signal using signald.矩阵信号木偶桥。使用 mautrix-python 用 Python 编写。使用 signald 与 Signal 通信。

✓ 1:1 chats✓ 1:1 聊天
✓ Group chats✓ 群聊
✓ Plain text✓ 纯文本
✗ Formatted messages✗ 格式化消息
✓ Photos, gifs, voice notes and other files✓ 照片、gif、语音笔记和其他文件
✓ Stickers (only Signal->Matrix)✓ 贴纸(仅信号->矩阵)
✓ Read receipts✓ 阅读收据
✓ Typing notifications (only Signal->Matrix)✓ 打字通知(仅信号->矩阵)
✓ Double puppeting✓ 双木偶
✓ End-to-bridge encryption✓ 端到桥加密

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


A Matrix-Telegram hybrid puppeting/relaybot bridge. Written in Python using Telethon and mautrix-python.Matrix-Telegram 混合木偶/中继机器人桥。使用 Telethon 和 mautrix-python 用 Python 编写。

✓ Private chats, groups, supergroups and channels✓ 私人聊天、群组、超级群组和频道
✗ Secret chats✗ 秘密聊天
✓ Plain text and formatted messages✓ 纯文本和格式化消息
✓ Most message media (photos, videos, voice messages, documents, locations, stickers, polls, dice rolls)✓ 大多数消息媒体(照片、视频、语音消息、文档、位置、贴纸、投票、掷骰子)
✓ Replies and mentions✓ 回复和提及
✓ Message redaction/deletion✓ 消息编辑/删除
✓ Typing notifications and read receipts✓ 输入通知和阅读回执
✓ Double puppeting✓ 双木偶
✓ Backfilling history and missed messages✓ 回填历史和遗漏消息
✓ End-to-bridge encryption✓ 端到桥加密

...and much more. Read the current feature list at https://github.com/mautrix/telegram....以及更多。阅读 https://github.com/mautrix/telegram 上的当前功能列表。

mautrix-telegram母电报 can be self hosted, and is also available at t2bot.io: https://t2bot.io/telegram可以自托管,也可以在 t2bot.io 上获得:https://t2bot.io/telegram

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


A Matrix-Twitter DM puppeting bridge. Written in Python using mautwitdm and mautrix-python.Matrix-Twitter DM 木偶桥。使用 mautwitdm 和 mautrix-python 用 Python 编写。

✓ 1:1 chats✓ 1:1 聊天
✓ Group chats✓ 群聊
✗ Tweets✗ 推文
✓ Plain text✓ 纯文本
✗ Formatted messages✗ 格式化消息
✓ Photos, videos and gifs✓ 照片、视频和 gif
✓ Double puppeting✓ 双木偶
✓ Backfilling history and missed messages✓ 回填历史和遗漏消息
✓ End-to-bridge encryption✓ 端到桥加密


mx-puppet-twitter bridges twitter and matrix together via (double)puppeting.mx-puppet-twitter 通过(双)puppeting 将 twitter 和 matrix 桥接在一起。

✓ Direct (1:1) Chats✓ 直接 (1:1) 聊天
✗ Tweets✗ 推文
✓ Plain Text✓ 纯文本
✗ Formatted Messages✗ 格式化消息
✓ Media/files ✓ 媒体/文件

This bridge is part of the mx-puppet-bridge suite of puppeting bridges.这座桥是木偶桥的 mx-puppet-bridge 套件的一部分。

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


mx-puppet-tox bridges tox and matrix together via (double)puppeting. It basically acts as a tox client for matrix.mx-puppet-tox 通过(双)puppeting 将 tox 和 matrix 桥接在一起。它基本上充当矩阵的毒性客户端。

✓ Direct (1:1) Chats✓ 直接 (1:1) 聊天
✗ Group Chats✗ 群聊
✓ Plain Text✓ 纯文本
✗ Formatted Messages (unsupported by tox)✗ 格式化消息(tox 不支持)
✓ Media/files✓ 媒体/文件
✓ Presence (Tox → Matrix only)✓ 存在(仅限 Tox → Matrix)
✓ Typing notifications (Tox → Matrix only)✓ 打字通知(仅限 Tox → Matrix)
✓ Multi-user ✓ 多用户

This bridge is part of the mx-puppet-bridge suite of puppeting bridges.这座桥是木偶桥的 mx-puppet-bridge 套件的一部分。

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


A Matrix<->Mastodon bot written in Java.用 Java 编写的 Matrix<->Mastodon 机器人。

IRC互联网资源中心

Slack松弛

Discord不和谐

Google Chat谷歌聊天

Tencent QQ腾讯QQ

WeChat微信

WhatsAppWhatsApp的

LinkedIn Messaging领英消息

RSS订阅服务

Mumble咕哝

SMS短信

Skype网络电话

Email电子邮件

Facebook Messenger脸书信使

iMessageiMessage 信息

KakaoTalkKakaoTalk

Mattermost最重要的

libpurple紫色的

Keybase键库

GroupMe群我

LINE线

InstagramInstagram的

Signal信号

Telegram电报

Twitter推特

Tox毒素

Mastodon乳齿象

Gitter抖音


This project bridges Gitter to Matrix and is already hosted for you. It creates portal rooms for every public room on Gitter which you can join via #org_repo:gitter.im (just replace the / in the Gitter URI with an underscore _). For example https://gitter.im/nodejs/node corresponds to #nodejs_node:gitter.im.该项目将 Gitter 与 Matrix 连接起来,并且已经为您托管。它为 Gitter 上的每个公共房间创建门户房间,您可以通过#org_repo:gitter.im 加入(只需将 Gitter URI 中的 / 替换为下划线 _)。例如 https://gitter.im/nodejs/node 对应于#nodejs_node:gitter.im。

If you're already using Element, you can browse all of the Gitter rooms in the public room directory (switch to the gitter.im server).如果您已经在使用 Element,则可以浏览公共房间目录中的所有 Gitter 房间(切换到 gitter.im 服务器)。

✓ Public Chats✓ 公开聊天
✗ Private Chats✗ 私人聊天
✓ 1:1 Chats✓ 1:1 聊天
✓ Native feeling usernames/avatar on both sides (virtual users)✓ 双方原生感觉用户名/头像(虚拟用户)
✓ Replies/Threaded conversations✓ 回复/线程对话
✓ Formatted Messages✓ 格式化消息
✓ Mentions✓ 提及
✓ Edits✓ 编辑
✓ Redactions/Deletions✓ 编辑/删除
✓ Status /me messages✓ 状态/我的消息
✓ Media/Files✓ 媒体/文件
✗ Reactions✗ 反应
✗ Backfilling history✗ 回填历史
✗ Read Receipts✗ 阅读回执
✗ Typing notifications✗ 输入通知

If you're curious about the bridge, there is a great overview of the capabilities and future plans in this Matrix.org blog post.如果您对桥感到好奇,可以在 Matrix.org 博客文章中对功能和未来计划进行很好的概述。

Discover Matrix发现矩阵

Introduction介绍

How to get started with Matrix如何开始使用 Matrix

Guides导游

Guides to usage of Matrix矩阵使用指南

Synapse Installation突触安装

Installing Synapse, a homeserver implementation written in Python安装 Synapse,一个用 Python 编写的家庭服务器实现

Guides for Developers开发人员指南

How to develop for Matrix如何为 Matrix 开发

FAQ常问问题

Matrix FAQ矩阵常见问题解答

Moderation适度

How to manage and moderate Matrix rooms如何管理和调节 Matrix 房间

Spec规格

The Matrix Specification矩阵规范

Find Projects查找项目

Clients客户

Find a Matrix Client for you为您寻找 Matrix 客户端

Bridges桥梁

Bridge to platforms outside Matrix连接 Matrix 外部平台的桥梁

Try Matrix Now立即试用矩阵

Find a comprehensive list of Matrix-related projects查找 Matrix 相关项目的完整列表

If you want to…如果你想…Then read…然后阅读...
Just get started!开始吧!Getting Involved, which explains various ways of getting started with Matrix参与其中,解释了开始使用 Matrix 的各种方式

or或者

the FAQ常见问题解答, where we try to answer all your questions relating to Matrix,我们会尝试回答您所有与 Matrix 有关的问题
Get started with the CS API using …开始使用 CS API 使用…… 
… JavaScript… JavaScriptUsage of the matrix-js-sdkmatrix-js-sdk的使用
… Python… PythonMatrix Python SDK documentation矩阵 Python SDK 文档
Understand Application Services了解应用服务The Application services guide introduces them and explains what they can be used for应用程序服务指南介绍了它们并解释了它们的用途
See an example of a simple bot查看简单机器人的示例tiny-matrix-bot source code微型矩阵机器人源代码
Create a complete working chatbot创建一个完整的工作聊天机器人Using Matrix to make Chatbot software from the 1960s available in 2018 goes from the basics, brings in matrix-bot-sdk, and ends with deployment on a Raspberry Pi使用 Matrix 让 1960 年代的 Chatbot 软件在 2018 年可用
Work on Bridges to Matrix研究矩阵的桥梁Types of Bridging should be read by all bridge developers to ensure everyone has the same mental map of terminology when implementing bridges所有桥接开发人员都应阅读桥接类型,以确保每个人在实现桥接时都有相同的术语思维导图
Migrate from the old v1 CS API从旧的 v1 CS API 迁移the v1 migration guide which justs lists the changes from v1 to r0v1 迁移指南,其中列出了从 v1 到 r0 的更改
Use E2E in a client application在客户端应用程序中使用 E2EThe End-to-end Encryption Implementation Guide is intended for client developers who wish to add support for end-to-end encryption to their clients端到端加密实施指南适用于希望为其客户端添加端到端加密支持的客户端开发人员
Install Synapse安装突触Installing Synapse Guide安装 Synapse 指南
… using Docker… 使用 Dockerthe Synapse Docker READMESynapse Docker 自述文件
Understand Moderation in Matrix了解矩阵中的适度Moderation in Matrix适度矩阵

Introduction for Users用户介绍

Installing Synapse安装突触

To install Synapse, we recommend taking a look at the Installing Synapse guide page. Other articles are listed below.要安装 Synapse,我们建议查看安装 Synapse 指南页面。其他文章如下。

Article文章Author作者Language语言
Install Matrix Synapse安装矩阵突触Stefan斯特凡English英语
Matrix-Riot.im : How to install Synapse-Matrix server - Raspberry PI - Rock64Matrix-Riot.im:如何安装 Synapse-Matrix 服务器 - Raspberry PI - Rock64dHENRY亨利English英语
Running Matrix Synapse on NixOS在 NixOS 上运行 Matrix SynapseKiba Fox木场狐狸English英语
Run your end-to-end encrypted chat server using Matrix and Riot使用 Matrix 和 Riot 运行您的端到端加密聊天服务器Gabor Szathmari加博·萨斯马里English英语
How to Install Matrix Synapse Chat on Ubuntu 18.04 LTS如何在 Ubuntu 18.04 LTS 上安装 Matrix Synapse ChatMuhammad Arul穆罕默德阿鲁尔English英语
How To Install Matrix Synapse on Ubuntu 16.04如何在 Ubuntu 16.04 上安装 Matrix SynapseOliver Lumby for DigitalOceanDigitalOcean 的 Oliver LumbyEnglish英语
Running your own encrypted chat service with Matrix and Riot使用 Matrix 和 Riot 运行您自己的加密聊天服务github.com/attacusgithub.com/attacusEnglish英语
How to secure your chats with Matrix如何保护您与 Matrix 的聊天Zachary Muller扎卡里穆勒English英语
Install Riot Matrix Chat Client On Debian and Ubuntu在 Debian 和 Ubuntu 上安装防暴矩阵聊天客户端Nick Congleton尼克康格尔顿English英语
Matrix homeserver (v1.0.0) with Docker and TraefikMatrix 家庭服务器 (v1.0.0) 与 Docker 和 TraefikJon Neverland乔恩梦幻岛English英语
Set up Synapse (Matrix Homeserver) on Ubuntu 16.04在 Ubuntu 16.04 上设置 Synapse (Matrix Homeserver)Hong Xu洪旭English英语
Matrix Synapse auf Ubuntu Server 20.04 LTS mit nginx, PostgreSQL und Let’s EncryptMatrix Synapse auf Ubuntu Server 20.04 LTS mit nginx, PostgreSQL 和 Let's EncryptJanGerman德语

Synapse Maintenance突触维护

Article文章Author作者Language语言
Compressing Synapse database压缩 Synapse 数据库Victor Berger / Levans维克多·伯杰 / 莱文斯English英语
How to monitor Synapse metrics using Prometheus如何使用 Prometheus 监控 Synapse 指标Synapse Team突触团队English英语
Using Postgres使用 PostgresSynapse Team突触团队English英语
How to enable VoIP relaying on your Home Server with TURN如何使用 TURN 在您的家庭服务器上启用 VoIP 中继Synapse Team突触团队English英语
Setting up Federation建立联邦Synapse Team突触团队English英语
Use of Server Notices服务器通知的使用Synapse Team突触团队English英语
Use of OpenTracingOpenTracing的使用Synapse Team突触团队English英语
Scaling synapse via workers通过工人缩放突触Synapse Team突触团队English英语
Boosting matrix/synapse by using workers 使用 workers 增强矩阵/突触Mark Nowiasz马克·诺维亚兹English英语
There are many other howtos and documents in the Synapse repo.Synapse 存储库中还有许多其他指南和文档。

Understanding End-to-End Encryption了解端到端加密

Article文章Author作者Language语言
An introduction to end-to-end encryption in Matrix and RiotMatrix 和 Riot 中的端到端加密介绍Hubert Chathi休伯特·查蒂English英语

Translations翻译

Article文章Author作者Language语言
How to translate Riot-Web如何翻译 Riot-WebRiot-Web Team防暴网络团队English英语

Video Guides视频指南

Guides for Developers开发人员指南

Bridging桥接

Article文章Author作者Language语言
Types of Bridging桥接类型Matrix.org黑客帝国English英语
Bridging Matrix with WhatsApp running on a VM在 VM 上运行 WhatsApp 的桥接矩阵Matrix.org黑客帝国English英语

Client-Server API客户端-服务器 API

Homeserver Development家庭服务器开发

Article文章Author作者Language语言
State Resolution v2 for the Hopelessly Unmathematical无可救药的非数学状态解决方案 v2Neil Alexander Twigg尼尔·亚历山大·特威格English英语

Introduction介绍

Article文章Author作者Language语言
Introduction介绍Matrix.org黑客帝国English英语
How can I get involved?我怎样才能参与其中?Matrix.org黑客帝国English英语
Moderation in Matrix适度矩阵Matrix.org黑客帝国English英语
Application Services申请服务Matrix.org黑客帝国English英语
Made for Matrix Badge GuidelinesMade for Matrix 徽章指南Matrix.org黑客帝国English英语
The Matrix Jobs Room矩阵工作室Matrix.org黑客帝国English英语
Running online events with Open Source communication tools使用开源通信工具运行在线活动Matrix.org黑客帝国English英语
Enter the Matrix输入矩阵Brendan Abolivier布伦丹·阿博利维尔English英语
Obtain Access Tokens from Element从 Element 获取访问令牌TravisR特拉维斯English英语
Testing the matrix.org client-server API using cURL使用 cURL 测试 matrix.org 客户端-服务器 APIRick Cogley里克科格利English英语

Server Setup服务器设置

Article文章Author作者Language语言
Installing Synapse安装突触Matrix.org黑客帝国English英语
Self-hosting a map tile server for location sharing自托管用于位置共享的地图图块服务器Andy Balaam安迪巴兰English英语
Free Matrix Server using Oracle Cloud使用 Oracle 云的免费矩阵服务器Paul Tötterman <paul.totterman@iki.fi>保罗·托特曼 <paul.totterman@iki.fi>English英语
Understanding Synapse Hosting了解 Synapse 托管Matrix.org黑客帝国English英语

Frequently Asked Questions经常问的问题

Intro🔗简介

Basics🔗 基础知识

What is Matrix?🔗 什么是矩阵?

Matrix is an open standard for interoperable, decentralised, real-time communication over IP. It can be used to power Instant Messaging, VoIP/WebRTC signalling, Internet of Things communication - or anywhere you need a standard HTTP API for publishing and subscribing to data whilst tracking the conversation history.Matrix 是一个开放标准,用于通过 IP 进行可互操作的、分散的、实时的通信。它可用于支持即时消息、VoIP/WebRTC 信令、物联网通信 - 或者任何您需要标准 HTTP API 来发布和订阅数据同时跟踪对话历史记录的地方。

Matrix defines the standard, and provides open source reference implementations of Matrix-compatible Servers, Client SDKs and Application Services to help you create new communication solutions or extend the capabilities and reach of existing ones.Matrix 定义标准,并提供与 Matrix 兼容的服务器、客户端 SDK 和应用程序服务的开源参考实现,以帮助您创建新的通信解决方案或扩展现有解决方案的功能和范围。

Client

Users in Matrix use one or more clients to communicate. This could be any combination of a web client, a command line client, a mobile client - or embedded clients built into existing apps. It could even be a piece of hardware (e.g. a drone) that is Matrix enabled.

client SDK

A client SDK makes it easier to develop client applications using matrix. See: How do I Matrix-enable my existing app?

close

What is Matrix's Mission?🔗 Matrix 的使命是什么?

Matrix’s initial goal is to fix the problem of fragmented IP communications: letting users message and call each other without having to care what app the other user is on - making it as easy as sending an email.Matrix 的最初目标是解决 IP 通信碎片化的问题:让用户可以互相发消息和通话,而不必关心对方使用的是什么应用程序——就像发送电子邮件一样简单。

The longer term goal is for Matrix to act as a generic HTTP messaging and data synchronisation system for the whole web - allowing people, services and devices to easily communicate with each other, empowering users to own and control their data and select the services and vendors they want to use.长期目标是让 Matrix 充当整个网络的通用 HTTP 消息传递和数据同步系统——允许人们、服务和设备轻松地相互通信,使用户能够拥有和控制他们的数据并选择服务和供应商他们想使用。

close

What does this mean for users?🔗 这对用户意味着什么?

The aim is to provide an analogous ecosystem to email - one where you can communicate with pretty much anyone, without caring what app or server they are using, using whichever client app & server you chose, and use a neutral identity system like an e-mail address or phone number to discover people to talk to.目的是提供一个类似于电子邮件的生态系统——您可以在其中与几乎任何人进行通信,而无需关心他们使用的是什么应用程序或服务器,使用您选择的任何客户端应用程序和服务器,并使用中立的身份系统,如电子-邮件地址或电话号码以发现可以与之交谈的人。

Client

Users in Matrix use one or more clients to communicate. This could be any combination of a web client, a command line client, a mobile client - or embedded clients built into existing apps. It could even be a piece of hardware (e.g. a drone) that is Matrix enabled.

close

Why are you called Matrix?🔗 为什么叫 Matrix?

We are called Matrix because we provide a structure in which all communication can be matrixed together.我们之所以称为 Matrix,是因为我们提供了一种结构,在该结构中,所有通信都可以矩阵化在一起。

No, it’s nothing to do with the film (although you could go and build virtual worlds on top of Matrix if you wanted 😎).不,这与电影无关(尽管如果你愿意,你可以在 Matrix 之上构建虚拟世界😎)。

matrixed together

In mathematics, a matrix is a lattice-like arrangement, in which expressions can be combined and treated as a single entity

close

What does Matrix provide?🔗 Matrix 提供什么?

  • Open Standard HTTP APIs for transferring JSON messages (e.g. instant messages, WebRTC signalling), including:用于传输 JSON 消息(例如即时消息、WebRTC 信令)的开放标准 HTTP API,包括:
    • Client<->Server API - defines how Matrix compatible clients communicate with Matrix homeservers.Client<->Server API - 定义 Matrix 兼容客户端如何与 Matrix 家庭服务器通信。
    • Server<->Server API - defines how Matrix homeservers exchange messages and synchronise history with each other.Server<->Server API - 定义 Matrix 主服务器如何相互交换消息和同步历史记录。
    • Application Service API - defines how to extend the functionality of Matrix with 'integrations' and bridge to other networks.应用程序服务 API - 定义如何通过“集成”扩展 Matrix 的功能并桥接到其他网络。
    • Modules - specifies features that must be implemented by particular classes of clients.模块 - 指定必须由特定类别的客户端实现的功能。
  • Open source reference implementations of:开源参考实现:
    • Clients (Web (React), iOS, Android)客户端(网络(反应)、iOS、安卓)
    • Client SDKs (Javascript, Web (React), iOS, Android)客户端 SDK(Javascript、Web (React)、iOS、Android)
    • Homeservers (Synapse)家庭服务器(突触)
    • Application Services (bridges to IRC, Slack, Skype, Lync and more...)应用程序服务(连接 IRC、Slack、Skype、Lync 等...)
  • The actual ecosystem and community of everyone running Matrix servers and services每个运行 Matrix 服务器和服务的人的实际生态系统和社区
  • Loads of 3rd party contributions of clients, SDKs, servers and services.客户端、SDK、服务器和服务的大量第三方贡献。

You can find the full list of Matrix enabled projects at https://matrix.org/blog/try-matrix-now.您可以在 https://matrix.org/blog/try-matrix-now 找到支持 Matrix 的项目的完整列表。

client SDK

A client SDK makes it easier to develop client applications using matrix. See: How do I Matrix-enable my existing app?

close

Who and How🔗 谁以及如何

What kind of company is Matrix.org?Matrix.org 是一家什么样的公司?

The Matrix.org Foundation is a non-profit UK Community Interest Company, incorporated to act as the neutral guardian of the standard on behalf of the whole Matrix community. It is an open initiative which acts as a neutral and independent custodian of the Matrix standard.Matrix.org 基金会是一家非营利性英国社区利益公司,成立时代表整个 Matrix 社区充当标准的中立监护人。这是一个开放的倡议,充当 Matrix 标准的中立和独立保管人。

The Foundation defines the manifesto, mission and values of the project, the open governance process that determines how the specification develops, and provides a safety-net to ensure the project stays independent and true to its goals.基金会定义了项目的宣言、使命和价值观,确定规范如何制定的开放治理流程,并提供了一个安全网以确保项目保持独立并忠实于其目标。

How is Matrix.org funded?Matrix.org 是如何获得资金的?

Matrix.org is currently funded by the community, through a combination of community support (via Patreon, Liberapay, Bitcoin and Ethereum), corporate sponsorship, and grant funding.Matrix.org 目前由社区资助,通过社区支持(通过 Patreon、Liberapay、比特币和以太坊)、企业赞助和赠款资助。

Current Elliptic-level supporters on Patreon and corporate sponsors can be found on our supporters page.可以在我们的支持者页面上找到目前在 Patreon 上的 Elliptic 级支持者和企业赞助商。

If you would like to support the core Matrix team as a member of the community, you can do so via:如果您想作为社区成员支持 Matrix 核心团队,您可以通过以下方式进行:

  • Patreon帕特隆
  • Liberapay自由支付
  • Bitcoin (address: 1LxowEgsquZ3UPZ68wHf8v2MDZw82dVmAE)比特币(地址:1LxowEgsquZ3UPZ68wHf8v2MDZw82dVmAE)
  • Ethereum (address: 0xA5f9a4f9E024F6D727f7afdA9257e22329A97485)以太坊(地址:0xA5f9a4f9E024F6D727f7afdA9257e22329A97485)

If you would like to sponsor the team as a corporation, or are interested in paying for prioritised or custom development, please get in touch.如果您想作为公司赞助该团队,或者有兴趣为优先开发或定制开发付费,请联系我们。

For the first three years of Matrix's development (2014-2017), most of the core contributors worked for Amdocs, who paid for them to work fulltime on Matrix. In July 2017, Amdocs considered the project to be sufficiently successful that it could now self-support and so stopped funding. The majority of the core team is now employed by Element, an independent company set up to hire the team and support Matrix's development. Other contributors are funded by their own employers or donate their own time to the project.在 Matrix 开发的前三年(2014-2017),大多数核心贡献者都为 Amdocs 工作,Amdocs 支付他们全职在 Matrix 上工作的费用。 2017 年 7 月,Amdocs 认为该项目非常成功,现在可以自给自足,因此停止了资助。核心团队的大部分成员现在受雇于 Element,这是一家独立公司,旨在雇佣团队并支持 Matrix 的开发。其他贡献者由他们自己的雇主资助或为项目贡献自己的时间。

Who is building Matrix?谁在建造 Matrix?

The core team is ~12 people with extensive experience in building custom VoIP and Messaging apps for mobile network operators. Most of us work for Element, but there are an increasing number of contributors from other companies and folks all over the internet.核心团队约有 12 人,他们在为移动网络运营商构建自定义 VoIP 和消息应用程序方面拥有丰富的经验。我们中的大多数人都为 Element 工作,但也有越来越多来自其他公司的贡献者和互联网上的人们。

Concept🔗 理念

Why have you released this as open source?🔗 为什么将其作为开源发布?

We believe that any open standard defining interoperable communication needs to be justified, demonstrated and validated with transparent open source implementations. For Matrix to achieve its mission of making all communications services interoperable we believe it needs to be truly open, giving people access to take all the code we produce and to use and build on top of it.我们认为,任何定义可互操作通信的开放标准都需要通过透明的开源实现来证明、证明和验证。为了让 Matrix 实现其使所有通信服务可互操作的使命,我们认为它需要真正开放,让人们能够获取我们生产的所有代码,并在其上使用和构建。

interoperable

A more general definition of interoperability is for systems to be able to freely exchange data with another by a known mechanism. In the case of matrix, we have openly documented how to communicate with our HTTP APIs.

close

What do you mean by open?🔗 开放是什么意思?

Matrix is an open standard, meaning that we have freely published the details for how to communicate interoperably using the Matrix set of HTTP APIs. We encourage anyone and everyone to use the APIs and build their own projects which implement them and so benefit from interoperability with the rest of the Matrix ecosystem. We also ensure the standard is not encumbered by any known patent licensing requirements.Matrix 是一个开放标准,这意味着我们已经免费发布了有关如何使用 Matrix HTTP API 集进行互操作通信的详细信息。我们鼓励任何人和每个人使用 API 并构建自己的项目来实现它们,从而从与 Matrix 生态系统其余部分的互操作性中受益。我们还确保该标准不受任何已知专利许可要求的阻碍。

Matrix is also open source, meaning that we have released the source code of the reference servers, clients and services to the public domain under the Apache Licence v2, to encourage anyone and everyone to run their own servers and clients, and enhance them and contribute their enhancements as they see fit.Matrix 也是开源的,这意味着我们已经根据 Apache License v2 向公共域发布了参考服务器、客户端和服务的源代码,以鼓励任何人和每个人运行自己的服务器和客户端,并增强它们并做出贡献他们认为合适的增强功能。

interoperable

A more general definition of interoperability is for systems to be able to freely exchange data with another by a known mechanism. In the case of matrix, we have openly documented how to communicate with our HTTP APIs.

close

What does federated mean?🔗 联邦是什么意思?

Federation allows separate deployments of a communication service to communicate with each other - for instance a mail server run by Google federates with a mail server run by Microsoft when you send email from @gmail.com to @hotmail.com.联合允许单独部署通信服务以相互通信 - 例如,当您从@gmail.com 向@hotmail.com 发送电子邮件时,Google 运行的邮件服务器与 Microsoft 运行的邮件服务器联合运行。

interoperable clients may simply be running on the same deployment - whereas in federation the deployments themselves are exchanging data in a compatible manner.可互操作的客户端可能只是在相同的部署上运行——而在联合中,部署本身正在以兼容的方式交换数据。

Matrix provides open federation - meaning that anyone on the internet can join into the Matrix ecosystem by deploying their own server.Matrix 提供开放式联合——这意味着互联网上的任何人都可以通过部署自己的服务器加入 Matrix 生态系统。

federation

Federation means that separate instances of a service communicate - the best example of this is email servers, in which it's possible to send mail between difference service providers. For Matrix, this means that data about rooms and message history is shared between servers of participating users.

interoperable

A more general definition of interoperability is for systems to be able to freely exchange data with another by a known mechanism. In the case of matrix, we have openly documented how to communicate with our HTTP APIs.

close

How is this like e-mail?🔗 这怎么像电子邮件?

The History of email is instructive when thinking about the importance of interoperability.在思考互操作性的重要性时,电子邮件的历史很有启发意义。

Early email systems behaved as isolated communities which only allowed you to exchange mail with users on the same system. If you got your email from one service and your friend from another, then you couldn't message each other. This is basically the situation we're in today with VoIP and IM.早期的电子邮件系统表现为孤立的社区,只允许您与同一系统上的用户交换邮件。如果您从一项服务获得电子邮件,而从另一项获得朋友,那么你们就无法互相发送消息。这基本上就是我们今天使用 VoIP 和 IM 所处的情况。

interoperable

A more general definition of interoperability is for systems to be able to freely exchange data with another by a known mechanism. In the case of matrix, we have openly documented how to communicate with our HTTP APIs.

close

Why has no one done this before?🔗 为什么以前没有人这样做过?

There have been several attempts before including RCS.在包括 RCS 之前已经进行了几次尝试。

All of these have had some level of success, but many different technological/usability/economic factors have ended up limiting their success. Unfortunately, we've not ended up in a world where everyone has a SIP URI or Jabber ID on their business card, or a phone that actually uses RCS.所有这些都取得了一定程度的成功,但许多不同的技术/可用性/经济因素最终限制了它们的成功。不幸的是,我们并没有最终进入这样一个世界:每个人的名片上都有 SIP URI 或 Jabber ID,或者一部实际使用 RCS 的电话。

Take a look at the Comparisons section for a more detailed look at how Matrix compares to other projects.查看比较部分,更详细地了解 Matrix 与其他项目的比较。

SIP

Session Initiation Protocol is a communications protocol for signaling and controlling multimedia communication sessions in applications of Internet telephony for voice and video calls.

XMPP

XMPP is a communication protocol for message-oriented middleware based on XML. We think of Matrix and XMPP as being quite different; at its core Matrix can be thought of as an eventually consistent global JSON database, whilst XMPP can be thought of as a message passing protocol.

RCS

Rich Communication Services is a communication protocol between mobile-telephone carriers and between phone and carrier, aiming at replacing SMS messages with a text-message system that is richer, provides phonebook polling (for service discovery), and transmit in-call multimedia.

close

Practical🔗实用

What can I actually do with this?🔗 我实际上可以用它做什么?

A typical client provides a simple chatroom interface to Matrix - letting the user interact with users and rooms anywhere within the Matrix federation. Text and image messages are supported, as well as voice and video calling via WebRTC in one-to-one rooms and via Jitsi elsewhere.一个典型的客户端为 Matrix 提供一个简单的聊天室界面——让用户与 Matrix 联盟内任何地方的用户和房间进行交互。支持文本和图像消息,以及在一对一房间中通过 WebRTC 和在其他地方通过 Jitsi 进行语音和视频通话。

Client

Users in Matrix use one or more clients to communicate. This could be any combination of a web client, a command line client, a mobile client - or embedded clients built into existing apps. It could even be a piece of hardware (e.g. a drone) that is Matrix enabled.

federation

Federation means that separate instances of a service communicate - the best example of this is email servers, in which it's possible to send mail between difference service providers. For Matrix, this means that data about rooms and message history is shared between servers of participating users.

close

How can I get involved?🔗 我如何参与?

There are plenty of ways to get involved. First, create a user account and come say hi on #matrix:matrix.org!参与的方式有很多。首先,创建一个用户帐户并在#matrix:matrix.org 上打个招呼!

Then...然后...

  • Install synapse and tell us how you get on.安装突触并告诉我们您的进展情况。
  • Critique what has been proposed.批评所提议的内容。
  • Write clients.写客户。
  • Write bridges! Run bridges!写桥梁!跑桥!
  • Nose around in the repositories in our GitHub organization and send us some pull requests to fix some bugs or add some features!在我们的 GitHub 组织的存储库中四处寻找,并向我们发送一些拉取请求以修复一些错误或添加一些功能!
  • You could even try to write a homeserver (but be warned, Matrix's architecture makes homeservers orders of magnitude harder than clients or bridges.)您甚至可以尝试编写一个家庭服务器(但请注意,Matrix 的体系结构使家庭服务器比客户端或网桥要难几个数量级。)

See CONTRIBUTING.md for full details on how to contribute to the project. All are welcome!有关如何为项目做出贡献的完整详细信息,请参阅 CONTRIBUTING.md。欢迎大家!

Synapse

Synapse is a homeserver implemented in Python by the matrix.org core team. It is currently by far the most installed homeserver available.

the spec

The Matrix Specification describes the interactions between actors in the Matrix ecosystem, including Server-Server and Client-Server. You can see the spec here.

Client

Users in Matrix use one or more clients to communicate. This could be any combination of a web client, a command line client, a mobile client - or embedded clients built into existing apps. It could even be a piece of hardware (e.g. a drone) that is Matrix enabled.

bridging

Bridging to Matrix means that it's possible to read and write to channels hosted outside matrix. For example, it's possible to speak in IRC and slack rooms.

close

Where can I get support?🔗 我在哪里可以获得支持?

The point of entry for everything matrix is #matrix:matrix.org aka #matrix on irc.libera.chat.万物矩阵的入口点是#matrix:matrix.org,也就是irc.libera.chat 上的#matrix。

If you're a developer and are looking to get involved with building something on Matrix, try #matrix-dev:matrix.org.如果您是一名开发人员并且希望参与在 Matrix 上构建某些东西,请尝试#matrix-dev:matrix.org。

If you host a Synapse homeserver, you can get support in the #synapse:matrix.org room.如果您托管 Synapse 家庭服务器,则可以在#synapse:matrix.org 房间获得支持。

room

A room is a fundamental building bock of the matrix architecture: events are typically sent in the context of a room. A room is a conceptual place where users can send and receive events. Events are sent to a room, and all participants in that room with sufficient access will receive the event. See more detail.

Synapse

Synapse is a homeserver implemented in Python by the matrix.org core team. It is currently by far the most installed homeserver available.

close

You can link to a Matrix room or user by going to matrix.to, and typing in the room alias or ID for linking to rooms, or a user's Matrix ID for linking to users. In the future, there will be a URL scheme for Matrix rooms and users, similar to email's mailto scheme, or XMPP's xmpp scheme.您可以通过转到 matrix.to 链接到 Matrix 房间或用户,然后输入房间别名或 ID 以链接到房间,或输入用户的 Matrix ID 以链接到用户。以后会有Matrix房间和用户的URL方案,类似email的mailto方案,或者XMPP的xmpp方案。

close

Usage🔗 用法

As a user🔗 作为用户

What clients are available?🔗 有哪些客户可用?

See also the following lists: Clients, Clients Matrix, and Which matrix clients support E2E?另请参阅以下列表:客户端、客户端矩阵和哪些矩阵客户端支持 E2E?

There are many clients available, ranging from the glossy mass-market to the geeky command-line. There's even an emacs macro.有许多可用的客户端,从光鲜的大众市场到令人讨厌的命令行。甚至还有一个 emacs 宏。

The most popular and established client is Element, available on web, desktop, Android and iOS.最受欢迎和最成熟的客户端是 Element,可在 Web、桌面、Android 和 iOS 上使用。

Alternatively you can find a client suitable for you:或者,您可以找到适合您的客户:

  • if you're using GNOME, try Fractal如果你使用的是 GNOME,试试 Fractal
  • Nheko is a glossy native desktop app for Matrix, based on Qt5.Nheko 是基于 Qt5 的 Matrix 的精美原生桌面应用程序。
  • Quaternion is a cross-platform desktop client based on Qt5/QMLQuaternion是一个基于Qt5/QML的跨平台桌面客户端
  • if you prefer a command line client, there is a Matrix plugin for Weechat如果你更喜欢命令行客户端,Weechat 有一个 Matrix 插件
  • neo is a Matrix React.js webclientneo 是一个 Matrix React.js 网络客户端
  • Seaglass is a recently announced (as of July 2018) client written as a native macOS appSeaglass 是最近宣布的(截至 2018 年 7 月)作为原生 macOS 应用程序编写的客户端

A thorough list of clients can be found on the try-matrix-now page.完整的客户列表可以在 try-matrix-now 页面上找到。

close

What bridges to other networks are available?🔗 有哪些连接到其他网络的桥接可用?

There are a large number of 'bridges' which integrate existing communication networks into Matrix. This list is growing rapidly, and you can find bridges both written by the Matrix core team and contributed by the wider community. The full list can be seen at https://matrix.org/bridges/有大量的“桥梁”将现有的通信网络整合到 Matrix 中。这个列表正在快速增长,您可以找到 Matrix 核心团队编写的和更广泛的社区贡献的桥梁。完整列表见 https://matrix.org/bridges/

As of July 2018, active bridges include:截至 2018 年 7 月,活跃的桥梁包括:

  • matrix-appservice-irc - a comprehensive Matrix<->IRC bridgematrix-appservice-irc - 一个综合的 Matrix<->IRC 桥
  • mautrix-telegram - allows bridging to Telegrammautrix-telegram - 允许桥接到 Telegram
  • matrix-appservice-discord - for bridging to Discordmatrix-appservice-discord - 用于桥接到 Discord
  • matrix-appservice-slack - a basic bridge to Slackmatrix-appservice-slack - Slack 的基本桥梁
  • node-purple - lets you access any of the 20+ protocols supported by libpurple, including Skype, Lync, XMPP, etc.node-purple - 允许您访问 libpurple 支持的 20 多种协议中的任何一种,包括 Skype、Lync、XMPP 等。
  • matrix-appservice-bridge - a general NodeJS framework for writing bridgesmatrix-appservice-bridge - 用于编写桥梁的通用 NodeJS 框架

Writing new bridges is incredibly fun and easy - see the matrix-appservice-bridge HOWTOfor an example of how to write a fully functional Slack bridge in less than 100 lines of code!编写新的桥非常有趣和容易 - 请参阅 matrix-appservice-bridge HOWTO,了解如何用不到 100 行代码编写功能齐全的 Slack 桥的示例!

bridging

Bridging to Matrix means that it's possible to read and write to channels hosted outside matrix. For example, it's possible to speak in IRC and slack rooms.

close

How do I get an account and get started?🔗 如何获得帐户并开始使用?

The quickest way is to pick a client and sign up.最快的方法是选择一个客户并注册。

Clients can access any homeserver—you don't have to use matrix.org, though historically it is the largest public homeserver. anchel.nl lists free public homeservers, and a few other resources for getting started.客户端可以访问任何家庭服务器——您不必使用 matrix.org,尽管它在历史上是最大的公共家庭服务器。 anchel.nl 列出了免费的公共家庭服务器,以及一些其他入门资源。

homeserver

Each account in the Matrix federation is associated with a single homeserver. The software running at this server stores the history and account information for that user. Homeservers synchronise message history with other homeservers.

close

Where can I find a mobile app?🔗 我在哪里可以找到移动应用程序?

Element is available for Android and iOS.Element 适用于 Android 和 iOS。

The iOS version can be downloaded from the Apple store.iOS 版本可以从苹果商店下载。

The Android version can be downloaded from the Google Play store or F-Droid. If you are not sure which one to choose, install Element from the Google Play store.Android 版本可以从 Google Play 商店或 F-Droid 下载。如果您不确定选择哪一个,请从 Google Play 商店安装 Element。

Element

Element is a popular matrix client developed by the core matrix.org team. It's available as a web app, on Android and on iOS.

close

I installed Element via F-Droid, why is it draining my battery?🔗 我通过 F-Droid 安装了 Element,为什么它会耗尽我的电池?

The F-Droid release of Element does not use Google Cloud Messaging. This allows users that do not have or want Google Services installed to use Element.Element 的 F-Droid 版本不使用 Google Cloud Messaging。这允许没有或不想安装 Google 服务的用户使用 Element。

The drawback is that Element has to pull for new messages, which can drain your battery. To counter this, you can change the delay between polls in the settings. Higher delay means better battery life (but may delay receiving messages). You can also disable the background sync entirely (which means that you won't get any notifications at all).缺点是 Element 必须提取新消息,这会耗尽电池电量。为了解决这个问题,您可以在设置中更改轮询之间的延迟。更高的延迟意味着更长的电池寿命(但可能会延迟接收消息)。您也可以完全禁用后台同步(这意味着您根本不会收到任何通知)。

If you don't mind using Google Services, you might be better off installing the Google Play store version.如果您不介意使用 Google 服务,最好安装 Google Play 商店版本。

close

Where can I find a web app?🔗 我在哪里可以找到网络应用程序?

See also: What clients are available?另请参阅:哪些客户端可用?

Element🔗 元素

You can use Element Web - a glossy web client written on top of matrix-react-sdk.您可以使用 Element Web——一个在 matrix-react-sdk 之上编写的有光泽的网络客户端。

You can also host Element on your own server. It's a static web application, just download the last release and unpack it.您也可以在自己的服务器上托管 Element。它是一个静态 Web 应用程序,只需下载最新版本并解压即可。

neo🔗新

neo is a Matrix React.js webclient which aims to be lighter than Element while still feature complete.neo 是一个 Matrix React.js 网络客户端,它的目标是比 Element 更轻巧,同时仍然具有完整的功能。

close

Where can I find a desktop client?🔗 我在哪里可以找到桌面客户端?

See also: What clients are available?另请参阅:哪些客户端可用?

You can use the desktop build of Element Web.您可以使用 Element Web 的桌面版本。

  • if you're using GNOME, try Fractal如果你使用的是 GNOME,试试 Fractal
  • Nheko is a glossy native desktop app for Matrix, based on Qt5.Nheko 是基于 Qt5 的 Matrix 的精美原生桌面应用程序。
  • Quaternion is a cross-platform desktop client based on Qt5/QMLQuaternion是一个基于Qt5/QML的跨平台桌面客户端
  • Seaglass is a recently announced (as of July 2018) client written as a native macOS appSeaglass 是最近宣布的(截至 2018 年 7 月)作为原生 macOS 应用程序编写的客户端

There are also other desktop clients - check the list of clients on matrix.org.还有其他桌面客户端——查看 matrix.org 上的客户端列表。

close

How can I get a rooms list from matrix.org?如何从 matrix.org 获取房间列表?

If you're using Element, you can use the "Explore" screen, which you open from a button next to the search box on the right.如果您使用的是 Element,则可以使用“探索”屏幕,您可以通过右侧搜索框旁边的按钮打开该屏幕。

It you're working on a client, you can use the Client-Server API to get a list of public rooms.如果您在客户端上工作,您可以使用客户端-服务器 API 来获取公共房间列表。

What is the "System Alerts" room Element shows me on new Matrix.org accounts?Element 在新的 Matrix.org 帐户上向我显示的“系统警报”房间是什么?

'Server Notices' are a new feature introduced in Synapse 0.30. They provide a channel whereby server administrators can send messages to users on the server.“服务器通知”是 Synapse 0.30 中引入的一项新功能。它们提供了一个通道,服务器管理员可以通过该通道向服务器上的用户发送消息。

Read more about them in the Synapse docs on Server Notices and in the Server Notices section of the Matrix Client-Server Spec.在服务器通知上的 Synapse 文档和 Matrix 客户端-服务器规范的服务器通知部分中阅读有关它们的更多信息。

Tech🔗科技

How do I Matrix-enable my existing app?🔗 如何为我现有的应用程序启用 Matrix?

If your app doesn't have any communication capability already, you'll want to use one of the Matrix client SDKs to add it in. These come in different levels of sophistication - ranging from a simple HTTP API wrapper through to reusable UI components.如果您的应用程序还没有任何通信功能,您将需要使用 Matrix 客户端 SDK 之一来添加它。这些具有不同的复杂程度 - 从简单的 HTTP API 包装器到可重用的 UI 组件。

There are even more client SDKs available.还有更多可用的客户端 SDK。

Pick the one for your platform, or a 3rd party one if none of the above work for you, and get plugging it in. You'll probably also want to read the Client-Server API HOWTO too.为您的平台选择一个,如果以上都不适合您,则选择第 3 方的,然后将其插入。您可能还想阅读 Client-Server API HOWTO。

If you already have communication infrastructure set up (XMPP, custom HTTP, or whatever), then you'll want to run a bridge to expose it to the wider Matrix ecosystem. See matrix-appservice-bridge HOWTO for a guide of how to write bridges using the matrix-appservice-bridge framework, or co-opt one from the list at https://matrix.org/blog/try-matrix-now.Application Service API gives the details of the API that bridges have to implement.如果您已经设置了通信基础设施(XMPP、自定义 HTTP 或其他),那么您将需要运行一个桥接器以将其暴露给更广泛的 Matrix 生态系统。有关如何使用 matrix-appservice-bridge 框架编写桥的指南,请参阅 matrix-appservice-bridge HOWTO,或从 https://matrix.org/blog/try-matrix-now.Application 的列表中选择一个服务 API 提供了桥必须实现的 API 的详细信息。

client SDK

A client SDK makes it easier to develop client applications using matrix. See: How do I Matrix-enable my existing app?

close

How can I write a client on Matrix?🔗 如何在 Matrix 上编写客户端?

See the Client-Server API HOWTO and the API docs and the Spec for all the details you need to write a client.有关编写客户端所需的所有详细信息,请参阅客户端-服务器 API HOWTO 和 API 文档以及规范。

"Enter the Matrix" from Brendan Abolivier is a great introductory article which also covers the CS API.Brendan Abolivier 的“Enter the Matrix”是一篇很棒的介绍性文章,其中还涵盖了 CS API。

close

How do I register custom matrix event types?🔗 如何注册自定义矩阵事件类型?

We're not yet managing a registry of custom matrix event types. If you have any particularly good ones you want to tell the world about, please let us know on #matrix-dev:matrix.org.我们尚未管理自定义矩阵事件类型的注册表。如果你有任何特别好的东西想告诉全世界,请在#matrix-dev:matrix.org 上告诉我们。

close

Can I write a Matrix homeserver?🔗 我可以写一个 Matrix 家庭服务器吗?

Yes. Matrix is just a spec, and implementations of the spec are very welcome!是的。 Matrix 只是一个规范,非常欢迎规范的实现!

Synapse is the most well-distributed homeserver, but other projects aiming to implement the server component include:Synapse 是分布最广的家庭服务器,但其他旨在实现服务器组件的项目包括:

the spec

The Matrix Specification describes the interactions between actors in the Matrix ecosystem, including Server-Server and Client-Server. You can see the spec here.

homeserver

Each account in the Matrix federation is associated with a single homeserver. The software running at this server stores the history and account information for that user. Homeservers synchronise message history with other homeservers.

Synapse

Synapse is a homeserver implemented in Python by the matrix.org core team. It is currently by far the most installed homeserver available.

bot

A bot is an autonomous agent. In the context of matrix, it means software which is able to make automated posts in rooms.

Client

Users in Matrix use one or more clients to communicate. This could be any combination of a web client, a command line client, a mobile client - or embedded clients built into existing apps. It could even be a piece of hardware (e.g. a drone) that is Matrix enabled.

close

Why HTTP? Doesn't HTTP suck? Why don't you use websockets/CoAP/HTTP2/etc?🔗 为什么使用 HTTP? HTTP 不烂吗?为什么不使用 websockets/CoAP/HTTP2/etc?

HTTP may not be the most efficient transport, but it is ubiquitous, very well understood and has numerous implementations on almost every platform and language. It also has a simple upgrade path to HTTP/2, which is relatively bandwidth and round-trip efficient.HTTP 可能不是最有效的传输方式,但它无处不在,非常容易理解,并且几乎在所有平台和语言上都有大量实现。它还具有简单的 HTTP/2 升级路径,相对带宽和往返效率更高。

For these reasons it has been chosen as the mandatory baseline of the exchange, but it is still entirely possible to use other protocols for communication between clients and server (see for example this websocket transport spec proposal), and it's also possible in the future that negotiation of more efficient protocols will be added for the federation between servers, with HTTP+JSON remaining as the compatibility baseline.由于这些原因,它已被选为交换的强制性基线,但仍然完全有可能使用其他协议在客户端和服务器之间进行通信(例如,参见此 websocket 传输规范提案),并且将来也有可能将为服务器之间的联合添加更有效协议的协商,HTTP+JSON 保留为兼容性基线。

federation

Federation means that separate instances of a service communicate - the best example of this is email servers, in which it's possible to send mail between difference service providers. For Matrix, this means that data about rooms and message history is shared between servers of participating users.

close

Self-hosting🔗 自托管

How do I join the global Matrix federation?🔗 如何加入全球 Matrix 联邦?

You can choose a client and create a user account on an existing homeserver.您可以选择一个客户端并在现有的家庭服务器上创建一个用户帐户。

To host your own, start by looking at recommended guides for installing Synapse.要托管您自己的,请先查看有关安装 Synapse 的推荐指南。

homeserver

Each account in the Matrix federation is associated with a single homeserver. The software running at this server stores the history and account information for that user. Homeservers synchronise message history with other homeservers.

federation

Federation means that separate instances of a service communicate - the best example of this is email servers, in which it's possible to send mail between difference service providers. For Matrix, this means that data about rooms and message history is shared between servers of participating users.

Synapse

Synapse is a homeserver implemented in Python by the matrix.org core team. It is currently by far the most installed homeserver available.

close

How do I run my own homeserver?🔗 如何运行自己的家庭服务器?

Follow these instructions to install Synapse.按照这些说明安装 Synapse。

homeserver

Each account in the Matrix federation is associated with a single homeserver. The software running at this server stores the history and account information for that user. Homeservers synchronise message history with other homeservers.

Synapse

Synapse is a homeserver implemented in Python by the matrix.org core team. It is currently by far the most installed homeserver available.

close

What ports do I have to open up to join the global Matrix federation?🔗 需要开通哪些端口才能加入全球矩阵联邦?

We recommend servers use port 8448 for server<->server HTTPS traffic. Look at "Setting up Federation" in the Synapse docs for details.我们建议服务器将端口 8448 用于服务器<->服务器 HTTPS 流量。有关详细信息,请查看 Synapse 文档中的“设置联合”。

Client<->Server traffic can talk directly to Synapse via port 8448, but as by default Synapse creates a self-signed TLS certificate this can cause problems for clients which can't easily trust self-signed certificates (e.g. most web browsers). Instead, you can proxy access to Synapse's HTTP listener on port 8008 via an existing HTTPS proxy with a valid certificate (e.g. an nginx listening on port 443), or you can point Synapse at a valid X.509 signed TLS certificate. In future, Synapse will probably use letsencrypt to autogenerate valid certificates rather than self-signed ones during installation, simplifying this process enormously.客户端<->服务器流量可以通过端口 8448 直接与 Synapse 通信,但默认情况下 Synapse 创建一个自签名 TLS 证书,这可能会给不能轻易信任自签名证书的客户端(例如大多数 Web 浏览器)带来问题。相反,您可以通过具有有效证书的现有 HTTPS 代理(例如,侦听端口 443 的 nginx)在端口 8008 上代理对 Synapse 的 HTTP 侦听器的访问,或者您可以将 Synapse 指向有效的 X.509 签名 TLS 证书。将来,Synapse 可能会在安装过程中使用 letsencrypt 自动生成有效证书而不是自签名证书,从而极大地简化此过程。

You can also put Synapse entirely behind an existing TLS load balancer and not expose port 8448 at all. In this situation, Synapse will need to be configured to share the same public TLS certificate as the load balancer (as Synapse uses the public certificate for identity in other areas too, and it has to match the certificate that other servers see when they connect).您还可以将 Synapse 完全置于现有 TLS 负载均衡器之后,根本不公开端口 8448。在这种情况下,Synapse 将需要配置为与负载均衡器共享相同的公共 TLS 证书(因为 Synapse 也在其他区域使用公共证书作为身份,并且它必须与其他服务器在连接时看到的证书相匹配) .

close

How do I connect my homeserver to the public Matrix network?🔗 如何将我的家庭服务器连接到公共 Matrix 网络?

If you have a successfully running Synapse instance and want to federate with the rest of the public network, take a look at the federation documentation.如果您有一个成功运行的 Synapse 实例并希望与公共网络的其余部分联合,请查看联合文档。

federation

Federation means that separate instances of a service communicate - the best example of this is email servers, in which it's possible to send mail between difference service providers. For Matrix, this means that data about rooms and message history is shared between servers of participating users.

close

Can I run my own identity server?🔗 我可以运行自己的身份服务器吗?

See also: What is an identity server?另请参阅:什么是身份服务器?

Yes - the reference implementation is sydent and you can run your own ID server cluster that tracks 3rd party to Matrix ID mappings. This won't be very useful right now, though, and we don't recommend it.是 - 参考实现是 sydent,您可以运行自己的 ID 服务器集群来跟踪第 3 方到 Matrix ID 的映射。不过,这现在用处不大,我们不推荐这样做。

If you want your server to participate in the global replicated Matrix ID service then please get in touch with us. Meanwhile, we are looking at ways of decentralising the 'official' Matrix identity service so that identity servers are 100% decentralised and can openly federate with each other. N.B. that you can use Matrix without ever using the identity service - it exists only to map 3rd party IDs (e.g. email addresses) to matrix IDs to aid user discovery.如果您希望您的服务器参与全球复制的 Matrix ID 服务,请与我们联系。同时,我们正在寻找分散“官方”Matrix 身份服务的方法,以便身份服务器 100% 分散并可以公开地相互联合。注意您可以在不使用身份服务的情况下使用 Matrix - 它仅用于将第 3 方 ID(例如电子邮件地址)映射到 Matrix ID 以帮助用户发现。

close

Why can't I rename my homeserver?🔗 为什么我不能重命名我的家庭服务器?

Currently, the homeserver name is assumed never to change. This means that if you rename your server, other servers will think it's a different server.当前,假定主服务器名称永远不会更改。这意味着如果您重命名您的服务器,其他服务器会认为它是不同的服务器。

Perhaps in the future we will add an API for changing the homeserver name, but for now this is not supported.也许将来我们会添加一个 API 来更改 homeserver 名称,但目前不支持。

homeserver

Each account in the Matrix federation is associated with a single homeserver. The software running at this server stores the history and account information for that user. Homeservers synchronise message history with other homeservers.

close

Bots🔗 机器人

How can I write a bot using Python?如何使用 Python 编写机器人?

There are several approaches to bot creation (and you'll find even more on the SDKs page.)有多种创建机器人的方法(您可以在 SDK 页面上找到更多方法。)

  • maubot is a plugin-based Matrix bot system written in Python. There are lots of example bots available to get going quickly.maubot 是一个用 Python 编写的基于插件的 Matrix 机器人系统。有很多示例机器人可以快速上手。
  • matrix-nio is a more generally-scoped Python library, but can certainly be used to create bots.matrix-nio 是一个范围更广的 Python 库,但当然可以用来创建机器人。
    • nio-template is used for building bots on top of matrix-nio and getting started easilynio-template 用于在 matrix-nio 之上构建机器人并轻松入门
  • opsdroid is a richer bot building framework with an integrated matrix-connectoropsdroid 是一个更丰富的机器人构建框架,具有集成的矩阵连接器

Detail🔗 详情

Position in the World🔗 在世界上的位置

Why do you think existing apps will ever join this officially?🔗 为什么你认为现有的应用程序会正式加入?

We firmly believe it is what is right for the consumer. As people begin to use interoperable communications tools, service providers will see the benefit and compete on quality of service, security and features rather than relying on locking people into their walled garden. We believe as soon as users see the availability and benefits of interoperable services they will demand it.我们坚信这是适合消费者的。随着人们开始使用可互操作的通信工具,服务提供商将看到好处并在服务质量、安全性和功能方面展开竞争,而不是依赖于将人们锁在他们的围墙花园里。我们相信,一旦用户看到可互操作服务的可用性和好处,他们就会要求它。

interoperable

A more general definition of interoperability is for systems to be able to freely exchange data with another by a known mechanism. In the case of matrix, we have openly documented how to communicate with our HTTP APIs.

close

Why aren't you doing this through the IETF? or W3C? or 3GPP?🔗 你为什么不通过 IETF 来做这件事?还是 W3C?还是 3GPP?

We do recognise the advantages of working with existing standards bodies. We have been focused on writing code and getting it out, and the standard has been evolving rapidly since initial release in September 2014. Once the standard has matured sufficiently it may well be appropriate to work with an official standard body to maintain it going forwards.我们确实认识到与现有标准机构合作的优势。我们一直专注于编写代码并将其发布,并且该标准自 2014 年 9 月首次发布以来一直在快速发展。一旦该标准足够成熟,与官方标准机构合作以维护它向前发展可能是合适的。

close

What is the current project status?目前的项目状态如何?

A very quick recap by-the-numbers (updated May 2020):快速回顾一下数字(2020 年 5 月更新):

  • Started out in Sept 20142014年9月开始
  • Released Matrix 1.0 in June 20192019年6月发布Matrix 1.0
  • ~17M global visible accounts约 1700 万个全球可见账户
  • ~4.6M messages per day每天约 460 万条消息
  • ~7.2M unbridged accounts约 720 万个未桥接帐户
  • ~500K unbridged messages per day每天约 50 万条未桥接的消息
  • ~5.1M rooms that Matrix.org participates inMatrix.org 参与的约 510 万个房间
  • ~20,000 federated servers~20,000 台联合服务器
  • ~3000 msgs/s out, ~30 msgs/s in on Matrix.org在 Matrix.org 上输出约 3000 条消息/秒,输入约 30 条消息/秒
  • ~400 projects building on Matrix约 400 个基于 Matrix 的项目
  • ~70 companies building on Matrix约 70 家公司建立在 Matrix 之上

As of September 2019, the Matrix ecosystem has dozens of independent homeserver hosts, many bridges and is under active development.截至 2019 年 9 月,Matrix 生态系统拥有数十台独立的家庭服务器主机,众多网桥,正在积极开发中。

Why Apache Licence?🔗 为什么选择 Apache 许可证?

See also: What do you mean by open?另请参阅:开放是什么意思?

The Apache Licence is a permissive licence. We want the Matrix protocol itself to be free and open, but people are free to create both free and commercial apps and services that uses the protocol. In our opinion, any Matrix-service only enhances the Matrix ecosystem.Apache 许可证是一种许可许可证。我们希望 Matrix 协议本身是免费和开放的,但人们可以自由地创建使用该协议的免费和商业应用程序和服务。我们认为,任何 Matrix 服务只会增强 Matrix 生态系统。

close

Comparisons🔗比较

What is the difference between Matrix and IRC?🔗 Matrix 和 IRC 有什么区别?

We love IRC. In fact, prior to the point where Element was stable enough for daily use IRC was our primary communication tool. Between us we've written IRCds, IRC bots and admined dreamforge, UnrealIRCd, epona, ircservices and several others. That said, it has some limitations that Matrix seeks to improve on:我们喜欢 IRC。事实上,在 Element 足够稳定以供日常使用之前,IRC 是我们的主要交流工具。在我们之间,我们编写了 IRCds、IRC 机器人并管理了 dreamforge、UnrealIRCd、epona、ircservices 和其他几个。也就是说,Matrix 试图改进它有一些局限性:

  • Text only纯文本
  • No history没有历史
  • No multiple-device support不支持多设备
  • No presence support无状态支持
  • Fragmented identity model碎片化的身份模型
  • No open federation没有开放的联邦
  • No standard APIs, just a rather limited TCP line protocol没有标准的 API,只有相当有限的 TCP 线路协议
  • Non-standardised federation protocol非标准化联合协议
  • No built-in end-to-end encryption没有内置的端到端加密
  • Disruptive net-splits破坏性的网络分裂
  • Non-extensible不可扩展

IRCv3 exists and is addressing some of these issues; this is great news and we wish them well. It's almost a contradiction in terms to get competitive between openly interoperable communication projects - in fact there there already exist mature Matrix<->IRC bridges. matrix-appservice-irc is currently used to bridge with Libera.Chat and many other IRC networks.IRCv3 已经存在并且正在解决其中的一些问题;这是个好消息,我们祝他们一切顺利。在可公开互操作的通信项目之间获得竞争几乎是矛盾的——事实上,已经存在成熟的 Matrix<->IRC 桥。 matrix-appservice-irc 当前用于连接 Libera.Chat 和许多其他 IRC 网络。

Element

Element is a popular matrix client developed by the core matrix.org team. It's available as a web app, on Android and on iOS.

federation

Federation means that separate instances of a service communicate - the best example of this is email servers, in which it's possible to send mail between difference service providers. For Matrix, this means that data about rooms and message history is shared between servers of participating users.

close

What is the difference between Matrix and XMPP?🔗 Matrix 和 XMPP 有什么区别?

We think of Matrix and XMPP as being quite different; at its core Matrix can be thought of as an eventually consistent global JSON database with an HTTP API and pubsub semantics - whilst XMPP can be thought of as a message passing protocol. You can use them both to build chat systems; you can use them both to build pubsub systems; each comes with different tradeoffs. Matrix has a deliberately extensive 'kitchen sink' baseline of functionality; XMPP has a deliberately minimal baseline set of functionality. If XMPP does what you need it to do, then we're genuinely happy for you! Meanwhile, rather than competing, an XMPP Bridge like Skaverat's xmpptrix beta or jfred's matrix-xmpp-bridge or Matrix.org's own purple-matrix has potential to let both environments coexist and make the most of each other's benefits.我们认为 Matrix 和 XMPP 是完全不同的;其核心 Matrix 可以被认为是具有 HTTP API 和 pubsub 语义的最终一致的全球 JSON 数据库——而 XMPP 可以被认为是一种消息传递协议。您可以同时使用它们来构建聊天系统;您可以同时使用它们来构建 pubsub 系统;每个都有不同的权衡。 Matrix 有一个特意广泛的“厨房水槽”功能基线; XMPP 有一个特意最小的基线功能集。如果 XMPP 做了您需要它做的事情,那么我们由衷地为您感到高兴!同时,像 Skaverat 的 xmpptrix beta 或 jfred 的 matrix-xmpp-bridge 或 Matrix.org 自己的 purple-matrix 这样的 XMPP Bridge 不是竞争,而是有可能让两种环境共存并充分利用彼此的优势。

The whole area of XMPP vs Matrix is quite subjective. Rather than fighting over which open interoperable communication standard works the best, we should just collaborate and bridge everything together. The more federation and interoperability the better.XMPP 与 Matrix 的整个领域是相当主观的。与其争论哪种开放的可互操作通信标准最有效,不如我们应该协作并将所有内容连接在一起。联合和互操作性越强越好。

XMPP

XMPP is a communication protocol for message-oriented middleware based on XML. We think of Matrix and XMPP as being quite different; at its core Matrix can be thought of as an eventually consistent global JSON db, whilst XMPP can be thought of as a message passing protocol.

pubsub

The publish-subscribe pattern describes an architecture in which message senders push messages to a location, without needing to know who the subscribers will be. For Matrix, this means a client can send a message to a room without knowing the members, and the members can read that message.

close

How does Matrix compare with something like Trillian or Pidgin?🔗 Matrix 与 Trillian 或 Pidgin 相比如何?

Trillian and Pidgin and similar aggregating IM clients merge all your IM activity into a single app. However, your history and identity is still fragmented across the networks. People can't find you easily, and your history is fragmented (other than on the device where the client runs). And rather than being able to chose the right app for the job when communicating with people, you are pushed towards relying on a specific aggregation app.Trillian 和 Pidgin 以及类似的聚合 IM 客户端将您所有的 IM 活动合并到一个应用程序中。但是,您的历史和身份仍然分散在网络中。人们无法轻易找到您,并且您的历史记录是零散的(除了在运行客户端的设备上)。在与人交流时,您不是能够为工作选择合适的应用程序,而是被迫依赖特定的聚合应用程序。

Matrix lets you get the best of both worlds by linking to all the different networks (XMPP, AIM, ICQ, Lync, Skype etc) on the serverside, using bridges which can be run by anyone. Matrix then provides a simple standard HTTP API to access any of these networks, and lets you choose whichever client you prefer (either as a 'native' Matrix client or using a non-Matrix client from one of the networks which has been bridged in).Matrix 通过在服务器端链接到所有不同的网络(XMPP、AIM、ICQ、Lync、Skype 等),使用任何人都可以运行的网桥,让您获得两全其美的效果。 Matrix 然后提供一个简单的标准 HTTP API 来访问这些网络中的任何一个,并让您选择您喜欢的客户端(作为“本地”Matrix 客户端或使用来自已桥接的网络之一的非 Matrix 客户端) .

close

More Detail🔗 更多详情

What is a client?🔗 什么是客户?

Users in Matrix use one or more clients to communicate. This could be any combination of a web client, a command line client, a mobile client - or embedded clients built into existing apps. It could even be a piece of hardware (e.g. a drone) that is Matrix enabled.Matrix 中的用户使用一个或多个客户端进行通信。这可以是 Web 客户端、命令行客户端、移动客户端或内置于现有应用程序中的嵌入式客户端的任意组合。它甚至可以是启用 Matrix 的硬件(例如无人机)。

close

Can I use Matrix without installing a Matrix client?🔗 不安装 Matrix 客户端可以使用 Matrix 吗?

Yes! An ever increasing number of protocols are being bridged into Matrix, so if you use something like IRC on Libera.Chat you may well be indirectly benefiting from Matrix, as others may be connected into the IRC channel via Matrix.是的!越来越多的协议被桥接到 Matrix 中,所以如果你在 Libera.Chat 上使用 IRC 之类的东西,你很可能会间接地从 Matrix 中受益,因为其他人可能通过 Matrix 连接到 IRC 频道。

bridging

Bridging to Matrix means that it's possible to read and write to channels hosted outside matrix. For example, it's possible to speak in IRC and slack rooms.

close

What is a homeserver?🔗 什么是家庭服务器?

A user's client connects to a single homeserver, which stores the communication history and account information for that user, and shares data with the wider Matrix ecosystem by synchronising communication history with other homeservers.用户的客户端连接到单个家庭服务器,该服务器存储该用户的通信历史和帐户信息,并通过与其他家庭服务器同步通信历史来与更广泛的 Matrix 生态系统共享数据。

Client

Users in Matrix use one or more clients to communicate. This could be any combination of a web client, a command line client, a mobile client - or embedded clients built into existing apps. It could even be a piece of hardware (e.g. a drone) that is Matrix enabled.

close

What is a MXID?🔗 什么是 MXID?

Matrix user IDs (MXID) are unique user IDs. They are in the format @username:homeserver.tld (this format is used to avoid confusing them with email addresses.) They are intended to be fairly hidden (although right now they are not) - instead you will find and identify other users via 3PIDs.Matrix 用户 ID (MXID) 是唯一的用户 ID。它们的格式为@username:homeserver.tld(此格式用于避免将它们与电子邮件地址混淆。)它们旨在相当隐藏(尽管现在它们不是) - 相反,您将通过以下方式找到并识别其他用户3PID。

3PID

Third-party IDs (3PIDs) are IDs from other systems or contexts, such as email addresses, social network accounts and phone numbers.

close

What is a 3PID?🔗 什么是 3PID?

Third-party IDs (3PIDs) are IDs from other systems or contexts, such as email addresses, social network accounts and phone numbers.第三方 ID (3PID) 是来自其他系统或上下文的 ID,例如电子邮件地址、社交网络帐户和电话号码。

close

What is an identity server?🔗 什么是身份服务器?

Users in Matrix are identified internally via their 3PID namespaces such as email addresses or phone numbers should be used publicly to identify Matrix users, at least for invitation purposes. A Matrix "Identity" describes both the user ID and any other existing IDs from third party namespaces linked to their account.Matrix 中的用户通过他们的 3PID 命名空间在内部识别,例如电子邮件地址或电话号码应该公开用于识别 Matrix 用户,至少用于邀请目的。矩阵“身份”描述了用户 ID 和链接到其帐户的第三方名称空间中的任何其他现有 ID。

Matrix users can link third-party IDs (3PIDs) to their user ID. Linking 3PIDs creates a mapping from a 3PID to a user ID. This mapping can then be used by Matrix users in order to discover the MXIDs of their contacts.Matrix 用户可以将第三方 ID (3PID) 链接到他们的用户 ID。链接 3PID 会创建从 3PID 到用户 ID 的映射。 Matrix 用户随后可以使用此映射来发现其联系人的 MXID。

In order to ensure that the mapping from 3PID to user ID is genuine, the intention is for a globally federated cluster of trusted "Identity Servers" (IS) be used to verify the 3PID and persist and replicate the mappings. Usage of an IS is not required in order for a client application to be part of the Matrix ecosystem. However, without one clients will not be able to look up user IDs using 3PIDs.为了确保从 3PID 到用户 ID 的映射是真实的,目的是使用受信任的“身份服务器”(IS) 的全球联合集群来验证 3PID 并保留和复制映射。为了使客户端应用程序成为 Matrix 生态系统的一部分,不需要使用 IS。但是,如果没有一个客户端将无法使用 3PID 查找用户 ID。

The precise architecture of identity servers is currently in flux and subject to change as we work to fully decentralise them.身份服务器的精确架构目前正在不断变化,并且在我们努力完全去中心化它们时可能会发生变化。

MXID

Matrix user IDs (MXID) are unique user IDs. They are in the format @username:homeserver.tld.

3PID

Third-party IDs (3PIDs) are IDs from other systems or contexts, such as email addresses, social network accounts and phone numbers.

close

Where do my conversations get stored?🔗 我的对话存储在哪里?

Each replicated across all of the homeservers whose users are participating in a given room.每个都复制到其用户参与给定房间的所有家庭服务器。

homeserver

Each account in the Matrix federation is associated with a single homeserver. The software running at this server stores the history and account information for that user. Homeservers synchronise message history with other homeservers.

Client

Users in Matrix use one or more clients to communicate. This could be any combination of a web client, a command line client, a mobile client - or embedded clients built into existing apps. It could even be a piece of hardware (e.g. a drone) that is Matrix enabled.

federation

Federation means that separate instances of a service communicate - the best example of this is email servers, in which it's possible to send mail between difference service providers. For Matrix, this means that data about rooms and message history is shared between servers of participating users.

close

What are redactions?🔗 什么是编辑?

Since events are extensible it is possible for malicious users and/or servers to add keys that are, for example offensive or illegal. Since some events cannot be simply deleted (e.g. membership events) we instead 'redact' events, essentially stripping the event of all keys that are not required by the protocol. Redacting an event cannot be undone, allowing server owners to also delete the offending content from the databases.由于事件是可扩展的,因此恶意用户和/或服务器可能会添加攻击性或非法的密钥。由于某些事件不能简单地删除(例如会员事件),我们改为“编辑”事件,实质上是去除协议不需要的所有密钥的事件。编辑事件无法撤消,服务器所有者也可以从数据库中删除违规内容。

close

Can I log into other homeservers with my username and password?🔗 我可以使用我的用户名和密码登录其他家庭服务器吗?

Currently, no. We are looking at options for decentralising or migrating user accounts between multiple servers, and might add this feature at a later stage.目前,没有。我们正在寻找在多个服务器之间分散或迁移用户帐户的选项,并可能在稍后阶段添加此功能。

close

What are spaces?🔗 什么是空格?

Spaces are a collections of rooms. #community:matrix.org is the official matrix community space containing rooms managed by the core Matrix team.空间是房间的集合。 #community:matrix.org 是官方 Matrix 社区空间,包含由 Matrix 核心团队管理的房间。

Spaces are the replacements for the deprecated communities which were also known as groups. Other than groups a space itself is a Room.空间是已弃用社区的替代品,也称为组。除了组之外,空间本身就是一个房间。

community

Communities are collections of rooms. They have been replaced by spaces.

group

Groups are now known as communities, they are collections of rooms. They have been replaced by spaces.

space

Spaces are collections of rooms as rooms. They replace communites and groups.

sigil

Sigils refer the symbols uses at the beginning of many matrix identifiers. For example '@' is used for users, '#' for rooms, and '+' for communities.

close

Architecture🔗 架构

How does Matrix actually work architecturally?🔗 Matrix 在架构上是如何工作的?

For an introduction to the Matrix architecture, see https://matrix.org/docs/spec#architecture.有关 Matrix 架构的介绍,请参阅 https://matrix.org/docs/spec#architecture。

close

What is a room?🔗 什么是房间?

For a more thorough introduction see: https://matrix.org/docs/spec#room-structure.有关更详尽的介绍,请参阅:https://matrix.org/docs/spec#room-structure。

A room is a conceptual place where users can send and receive events. Events are sent to a room, and all participants in that room with sufficient access will receive the event.房间是一个概念性的地方,用户可以在其中发送和接收事件。事件被发送到一个房间,该房间中具有足够访问权限的所有参与者都将收到该事件。

close

Bridging🔗桥接

Why don't you use separate homeserver instances to improve bridging performance?为什么不使用单独的家庭服务器实例来提高桥接性能?

For example:例如:

Is there any merit in a proposal that the current matrix.org Freenode bridge could be taken off matrix.org and put on a new HS (at a new server-name domain such as freenode.matrix.org) so as to not be bogged down in performance?目前的 matrix.org Freenode 网桥可以从 matrix.org 上取下来并放在一个新的 HS 上(在一个新的服务器名称域,例如 freenode.matrix.org)以免陷入困境的提议有什么好处吗性能下降?

The Matrix.org Foundation currently runs one homeserver: matrix.org. This homeserver is operationally intensive and can sometimes suffer from slow response times. However running two homeservers would not improve performance, because the work done to maintain one homeserver would need to be duplicated. Also, the traffic on the bridge instance would be intensive just by itself. Running two intensive homeservers, where optimisations such as caching and federation traffic batching would need to be duplicated would have a marked decrease in overall performance.Matrix.org 基金会目前运行一个家庭服务器:matrix.org。这个家庭服务器是操作密集型的,有时响应速度慢。然而,运行两台家庭服务器不会提高性能,因为维护一台家庭服务器的工作需要重复进行。此外,网桥实例上的流量本身就很密集。运行两个密集的家庭服务器,其中需要复制缓存和联合流量批处理等优化,这将显着降低整体性能。

Running the bridge on another homeserver means the same traffic will be hitting matrix.org, except it now has to be handled by the federation inbound workers too. Now you have two hosts handling the same amount of traffic. You might see a benefit to federated homeservers, but the new homeserver will struggle just as much with inbound/outbound federation slowness as it does now with bridging.在另一个家庭服务器上运行网桥意味着相同的流量将到达 matrix.org,除了它现在也必须由联邦入站工作人员处理。现在您有两台主机处理相同的流量。您可能会看到联合家庭服务器的好处,但新的家庭服务器将与入站/出站联合慢速一样挣扎,就像它现在与桥接一样。

Further, it may turn out that the ongoing work on Synapse to introduce shared master processes actually makes it so much more efficient that whole benefit of creating two homeservers is now moot. Find out more about this work in this demo from Erik.此外,可能会证明在 Synapse 上正在进行的引入共享主进程的工作实际上使其效率更高,以至于创建两个家庭服务器的全部好处现在都没有实际意义。在 Erik 的这个演示中了解更多关于这项工作的信息。

Encryption🔗 加密

What does End-to-End (E2E) encryption mean?端到端 (E2E) 加密是什么意思?

End-to-End encryption describes a scenario where a message is encrypted at the device or client of the sender, and is only decrypted by the device or client of the receiver, with no decryption or reading performed on the server.端到端加密描述了这样一种场景,消息在发送方的设备或客户端被加密,并且仅由接收方的设备或客户端解密,而不在服务器上执行解密或读取。

What is the status of E2E?E2E的现状如何?

End-to-End Encryption is fully supported in Matrix. New rooms have encryption enabled by default, and all existing rooms can optionally have End-to-End Encryption turned on.Matrix 完全支持端到端加密。新房间默认启用加密,所有现有房间都可以选择打开端到端加密。

Which matrix clients support E2E?哪些矩阵客户端支持端到端?

End-to-end encryption is currently available in:端到端加密目前可用于:

E2E is available in matrix-nio, a Client-Server library for Python.E2E 在 matrix-nio 中可用,matrix-nio 是 Python 的客户端-服务器库。

All clients (and SDK/libs) can benefit from E2EE by using pantalaimon, which functions as a proxy daemon.所有客户端(和 SDK/libs)都可以通过使用 pantalaimon 从 E2EE 中受益,pantalaimon 充当代理守护程序。

Why are large public rooms like #matrix:matrix.org not encrypted?为什么像#matrix:matrix.org 这样的大型公共房间没有加密?

There is no value in encrypting public rooms. If anyone can join the room then encryption does not protect the contents, and may offer inconvenience for some users.加密公共房间没有任何价值。如果任何人都可以加入房间,则加密不会保护内容,并且可能会给某些用户带来不便。

The Spec🔗 规格

What is The Spec?🔗 规格是什么?

The Matrix Specification describes and prescribes the interaction between Application Services and more.Matrix 规范描述并规定了应用服务等之间的交互。

The spec is available to read on matrix.org.该规范可在 matrix.org 上阅读。

To contribute to the development of the Matrix Specification, see https://matrix.org/docs/spec/proposals.要为 Matrix 规范的开发做出贡献,请参阅 https://matrix.org/docs/spec/proposals。

Client

Users in Matrix use one or more clients to communicate. This could be any combination of a web client, a command line client, a mobile client - or embedded clients built into existing apps. It could even be a piece of hardware (e.g. a drone) that is Matrix enabled.

homeserver

Each account in the Matrix federation is associated with a single homeserver. The software running at this server stores the history and account information for that user. Homeservers synchronise message history with other homeservers.

close

Where is The Spec?🔗 规格在哪里?

You can view the spec at https://matrix.org/docs/spec/.您可以在 https://matrix.org/docs/spec/ 查看规范。

close

How can I contribute to The Spec?🔗 我如何为 The Spec 做贡献?

To contribute to the Matrix Specification, first take a look at the documentation as it is currently written, then review the process for new proposals. You should start by writing a publicly-accessible proposal describing your change.要为 Matrix 规范做出贡献,请首先查看当前编写的文档,然后查看新提案的流程。您应该首先编写一份可公开访问的提案来描述您的更改。

To see the proposals currently under discussion,join us in #matrix-spec:matrix.org.要查看当前正在讨论的提案,请加入我们#matrix-spec:matrix.org。

close

What is the process for adding Spec proposals?🔗 添加 Spec 提案的过程是怎样的?

See the documentation at https://matrix.org/docs/spec/proposals. In summary:请参阅 https://matrix.org/docs/spec/proposals 上的文档。总之:

  • Produce a publicly-accessible proposal describing your change制作一份可公开访问的提案,描述您的更改
  • Make a new issue at https://github.com/matrix-org/matrix-doc/issues, and include the metadata as described在 https://github.com/matrix-org/matrix-doc/issues 创建一个新问题,并包含所描述的元数据
  • Gather feedback as widely as possible from the community and core team on the proposal尽可能广泛地收集社区和核心团队对提案的反馈
  • Show an implementation to prove that it works well in practice, iterate where needed.展示一个实现来证明它在实践中运行良好,在需要的地方进行迭代。
  • Make a new spec PR which includes the changes as implemented against https://github.com/matrix-org/matrix-doc/tree/master/specification.制作一个新的规范 PR,其中包括针对 https://github.com/matrix-org/matrix-doc/tree/master/specification 实施的更改。
close

What's an MSC?🔗 什么是 MSC?

"MSC" refers to Matrix Spec Change, each proposal is assigned an MSC number to make referencing them easier.“MSC”指的是 Matrix Spec Change,每个提案都分配有一个 MSC 编号,以便于引用它们。

MSC numbers are taken from GitHub issues on the matrix-doc repo. To see a list of all active MSCs, and to understand how to contribute your own, see https://matrix.org/docs/spec/proposals.MSC 编号取自 matrix-doc repo 上的 GitHub issues。要查看所有活跃 MSC 的列表,并了解如何贡献自己的力量,请参阅 https://matrix.org/docs/spec/proposals。

close

Voip🔗 网络电话

How do you do VoIP calls on Matrix?🔗 如何在 Matrix 上进行 VoIP 通话?

Voice (and video) over Matrix uses the WebRTC 1.0 standard to transfer call media (i.e. the actual voice and video traffic). Matrix is used to signal the establishment and termination of the call by sending call events, like any other event.Matrix 上的语音(和视频)使用 WebRTC 1.0 标准来传输呼叫媒体(即实际语音和视频流量)。 Matrix 用于通过发送呼叫事件来表示呼叫的建立和终止,就像任何其他事件一样。

close

Are VoIP calls encrypted?🔗 VoIP 通话是否加密?

WebRTC encrypts the media that's being sent. The signalling events that set up (and end) the call are encrypted if the room they were sent in has enabled encryption.WebRTC 加密正在发送的媒体。如果发送呼叫的房间启用了加密,则建立(和结束)呼叫的信令事件将被加密。

close

Do I need a TURN server?🔗 我需要 TURN 服务器吗?

VoIP calls should work if both parties are on public networks. However, in practice one (or both) devices are often behind NAT, and so having a TURN server is important to help set up the call.如果双方都在公共网络上,VoIP 通话应该可以进行。但是,实际上一个(或两个)设备通常位于 NAT 之后,因此拥有 TURN 服务器对于帮助建立呼叫非常重要。

See this guide for setting up a TURN server with Synapse.请参阅本指南以使用 Synapse 设置 TURN 服务器。

close

Synapse🔗突触

What is Synapse?🔗 什么是突触?

Synapse is a Matrix "homeserver" implementation developed by the matrix.org core team, written in Python 3/Twisted. It is intended to showcase the concept of Matrix and let folks see the spec in the context of a codebase and let you run your own homeserver and generally help bootstrap the ecosystem.Synapse 是由 matrix.org 核心团队开发的 Matrix“家庭服务器”实现,使用 Python 3/Twisted 编写。它旨在展示 Matrix 的概念,让人们在代码库的上下文中查看规范,让您运行自己的家庭服务器,并通常帮助引导生态系统。

homeserver

Each account in the Matrix federation is associated with a single homeserver. The software running at this server stores the history and account information for that user. Homeservers synchronise message history with other homeservers.

close

How do I install Synapse?🔗 如何安装 Synapse?

Take a look at the Synapse Installation Guide. There are options for installing using docker and/or ansible, plus manual installation instructions.查看 Synapse 安装指南。有使用 docker 和/或 ansible 进行安装的选项,以及手动安装说明。

close

Why is Synapse in Python/Twisted?🔗 为什么在 Python/Twisted 中使用 Synapse?

This is because both provide a mature and well known event-driven async IO framework for writing serverside code. Whilst this has been okay for our initial experimentation and proof of concept, it's future homeserver work will be written in a more strongly typed language (e.g. Go).这是因为两者都提供了一个成熟且众所周知的事件驱动异步 IO 框架来编写服务器端代码。虽然这对于我们最初的实验和概念验证来说是可以的,但未来的家庭服务器工作将使用更强类型的语言(例如 Go)编写。

As of July 2018 work is progressing on Dendrite, a homeserver from the matrix.org core team written in Go.截至 2018 年 7 月,Dendrite 的工作正在取得进展,Dendrite 是 matrix.org 核心团队用 Go 编写的家庭服务器。

homeserver

Each account in the Matrix federation is associated with a single homeserver. The software running at this server stores the history and account information for that user. Homeservers synchronise message history with other homeservers.

close

Why aren't you using an ORM layer like SqlAlchemy in Synapse?🔗 为什么不在 Synapse 中使用像 SqlAlchemy 这样的 ORM 层?

Synapse is very database dependent (as of Oct 2015; this is improving in the near future however), and we like having the flexibility to sculpt our own queries.Synapse 非常依赖数据库(截至 2015 年 10 月;然而,这在不久的将来会有所改善),我们希望能够灵活地构建我们自己的查询。

close

Will Synapse share my chat data with other servers in the federation?🔗 Synapse 会与联邦中的其他服务器共享我的聊天数据吗?

Federation in Matrix means that data is only shared between servers of participating users of a room. If all users in a room are on your server, no data is shared with other servers.Matrix 中的联合意味着数据仅在房间的参与用户的服务器之间共享。如果房间中的所有用户都在您的服务器上,则不会与其他服务器共享任何数据。

federation

Federation means that separate instances of a service communicate - the best example of this is email servers, in which it's possible to send mail between difference service providers. For Matrix, this means that data about rooms and message history is shared between servers of participating users.

close

Why is the state_groups_state table so large? What is it storing?🔗 为什么 state_groups_state 表这么大?它在存储什么?

Room state takes up a lot of space! To be specific, regular snapshots are taken of room states, so you can rapidly find out the state for historical events.房间状态占用空间大!具体来说,定期对房间状态进行快照,可以快速了解历史事件的状态。

Why is it so important to record this, and to know the past room state including full member list?为什么记录这一点以及了解过去的房间状态(包括完整成员列表)如此重要?

It's needed to enable access control and state resolution, for example the homeserver needs to be able to decide:它需要启用访问控制和状态解析,例如家庭服务器需要能够决定:

  • "who can see this message at that point in time?"“谁能在那个时间点看到这条消息?”
  • "what was the state of the room was when this message was received, and so is it allowed to be received?"“收到这条消息时房间是什么状态,是否允许接收?”

Synapse stores these snapshots approximately every 100 messages, with deltas in between.Synapse 大约每 100 条消息存储一次这些快照,中间有增量。

close

Definitions🔗 定义

Term学期Definition定义
Client客户Users in Matrix use one or more clients to communicate. This could be any combination of a web client, a command line client, a mobile client - or embedded clients built into existing apps. It could even be a piece of hardware (e.g. a drone) that is Matrix enabled.Matrix 中的用户使用一个或多个客户端进行通信。这可以是 Web 客户端、命令行客户端、移动客户端或内置于现有应用程序中的嵌入式客户端的任意组合。它甚至可以是启用 Matrix 的硬件(例如无人机)。
matrixed together矩阵在一起In mathematics, a matrix is a lattice-like arrangement, in which expressions can be combined and treated as a single entity在数学中,矩阵是一种类似格子的排列,其中的表达式可以组合并视为一个实体
homeserver家庭服务器Each account in the Matrix federation is associated with a single homeserver. The software running at this server stores the history and account information for that user. Homeservers synchronise message history with other homeservers.Matrix 联盟中的每个帐户都与单个家庭服务器相关联。在此服务器上运行的软件存储该用户的历史记录和帐户信息。家庭服务器与其他家庭服务器同步消息历史记录。
Synapse突触Synapse is a homeserver implemented in Python by the matrix.org core team. It is currently by far the most installed homeserver available.Synapse 是由 matrix.org 核心团队用 Python 实现的家庭服务器。它是目前安装最多的家庭服务器。
interoperable可互操作A more general definition of interoperability is for systems to be able to freely exchange data with another by a known mechanism. In the case of matrix, we have openly documented how to communicate with our HTTP APIs.互操作性的更一般定义是系统能够通过已知机制自由地与另一个系统交换数据。对于矩阵,我们已经公开记录了如何与我们的 HTTP API 进行通信。
New Vector新向量New Vector is a company formed to build Matrix.org. It is a continuation of the original project team, and is focused on development and maintenance of matrix.org.New Vector 是一家为建立 Matrix.org 而成立的公司。它是原项目团队的延续,专注于 matrix.org 的开发和维护。
federation联邦Federation means that separate instances of a service communicate - the best example of this is email servers, in which it's possible to send mail between difference service providers. For Matrix, this means that data about rooms and message history is shared between servers of participating users.联合意味着服务的单独实例进行通信 - 最好的例子是电子邮件服务器,其中可以在不同的服务提供商之间发送邮件。对于 Matrix,这意味着有关房间和消息历史记录的数据在参与用户的服务器之间共享。
SIPSession Initiation Protocol is a communications protocol for signaling and controlling multimedia communication sessions in applications of Internet telephony for voice and video calls.会话发起协议是一种通信协议,用于在语音和视频呼叫的互联网电话应用中发送和控制多媒体通信会话。
XMPPXMPPXMPP is a communication protocol for message-oriented middleware based on XML. We think of Matrix and XMPP as being quite different; at its core Matrix can be thought of as an eventually consistent global JSON database, whilst XMPP can be thought of as a message passing protocol.XMPP是一种基于XML的面向消息中间件的通信协议。我们认为 Matrix 和 XMPP 是完全不同的;在其核心 Matrix 可以被认为是一个最终一致的全球 JSON 数据库,而 XMPP 可以被认为是一个消息传递协议。
RCS无线电控制系统Rich Communication Services is a communication protocol between mobile-telephone carriers and between phone and carrier, aiming at replacing SMS messages with a text-message system that is richer, provides phonebook polling (for service discovery), and transmit in-call multimedia.Rich Communication Services 是移动电话运营商之间以及电话和运营商之间的一种通信协议,旨在用更丰富的文本消息系统代替 SMS 消息,提供电话簿轮询(用于服务发现)并传输通话中的多媒体。
bridging桥接Bridging to Matrix means that it's possible to read and write to channels hosted outside matrix. For example, it's possible to speak in IRC and slack rooms.桥接到 Matrix 意味着可以读取和写入托管在矩阵外部的通道。例如,可以在 IRC 和休闲室中发言。
Element元素Element is a popular matrix client developed by the core matrix.org team. It's available as a web app, on Android and on iOS.Element 是由 matrix.org 核心团队开发的流行矩阵客户端。它可以作为网络应用程序在 Android 和 iOS 上使用。
client SDK客户端SDKA client SDK makes it easier to develop client applications using matrix. See: How do I Matrix-enable my existing app?客户端 SDK 可以更轻松地使用矩阵开发客户端应用程序。请参阅:如何为我现有的应用程序启用 Matrix?
MXIDMXIDMatrix user IDs (MXID) are unique user IDs. They are in the format @username:homeserver.tld.Matrix 用户 ID (MXID) 是唯一的用户 ID。它们的格式为@username:homeserver.tld。
3PID3PIDThird-party IDs (3PIDs) are IDs from other systems or contexts, such as email addresses, social network accounts and phone numbers.第三方 ID (3PID) 是来自其他系统或上下文的 ID,例如电子邮件地址、社交网络帐户和电话号码。
the spec规范The Matrix Specification describes the interactions between actors in the Matrix ecosystem, including Server-Server and Client-Server. You can see the spec here.Matrix 规范描述了 Matrix 生态系统中参与者之间的交互,包括服务器-服务器和客户端-服务器。你可以在这里看到规范。
sigil印记Sigils refer the symbols uses at the beginning of many matrix identifiers. For example '@' is used for users, '#' for rooms, and '+' for communities.Sigils 指的是许多矩阵标识符开头使用的符号。例如,“@”用于用户,“#”用于房间,“+”用于社区。
community社区Communities are collections of rooms. They have been replaced by spaces.社区是房间的集合。它们已被空格取代。
group团体Groups are now known as communities, they are collections of rooms. They have been replaced by spaces.组现在称为社区,它们是房间的集合。它们已被空格取代。
space空间Spaces are collections of rooms as rooms. They replace communites and groups.空间是作为房间的房间的集合。它们取代了社区和团体。
room房间A room is a fundamental building bock of the matrix architecture: events are typically sent in the context of a room. A room is a conceptual place where users can send and receive events. Events are sent to a room, and all participants in that room with sufficient access will receive the event. See more detail.房间是矩阵架构的基本构建块:事件通常在房间的上下文中发送。房间是一个概念性的地方,用户可以在其中发送和接收事件。事件被发送到一个房间,该房间中具有足够访问权限的所有参与者都将收到该事件。查看更多详细信息。
bot机器人A bot is an autonomous agent. In the context of matrix, it means software which is able to make automated posts in rooms.机器人是一个自治代理。在矩阵的上下文中,它意味着能够在房间中自动发布的软件。
pubsub发布订阅The publish-subscribe pattern describes an architecture in which message senders push messages to a location, without needing to know who the subscribers will be. For Matrix, this means a client can send a message to a room without knowing the members, and the members can read that message.发布-订阅模式描述了一种体系结构,在该体系结构中,消息发送者将消息推送到某个位置,而无需知道订阅者是谁。对于 Matrix,这意味着客户端可以在不知道成员的情况下向房间发送消息,并且成员可以阅读该消息。
PostgresPostgresWhile Synapse can be installed using Sqlite, Postgres is preferred for any significant use.虽然可以使用 Sqlite 安装 Synapse,但对于任何重要用途,首选 Postgres。

Matrix Hosting矩阵托管

Element Matrix Services元素矩阵服务

ems.element.ioems.元素.io

Brought to you by the creators of Matrix, who have been running the biggest homeserver in the network since 2014. Every homeserver comes with a custom instance of Element.自 2014 年以来一直在运行网络中最大的家庭服务器的 Matrix 的创建者为您带来。每个家庭服务器都带有 Element 的自定义实例。

Ungleich.ch英格莱希

matrix.zerocarbon.shopmatrix.zerocarbon.shop

  • Hosted Homeservers托管家庭服务器

Service provided by ungleich.ch in their own datacenter in Linthal, Switzerland. They use an old building, second-hand servers, passive cooling and are directly plugged into an on-site hydroelectric power plant!ungleich.ch 在其位于瑞士林塔尔的数据中心提供服务。他们使用旧建筑、二手服务器、被动冷却并直接插入现场水力发电厂!

etke.ccetke.cc

etke.ccetke.cc

  • Setup of hosted Homeserver on any hosting by your choice在您选择的任何主机上设置托管家庭服务器
  • Setup of hosted integrations (full list available on website)托管集成的设置(完整列表可在网站上获得)
  • Setup of additional services (wireguard, languagetool, miniflux, etc.)设置附加服务(wireguard、languagetool、miniflux 等)
  • Ongoing maintenance of host & Matrix components持续维护主机和 Matrix 组件
  • Email services for your domain您域的电子邮件服务

That service will create your Matrix Homeserver on your domain and server (doesn't matter if it's cloud provider or on an old laptop in the corner of your room), (optional) maintains it (server's system updates, cleanup, security adjustments, tuning, etc.; Matrix Homeserver updates & maintenance) and (optional) provide full-featured email service for your domain.该服务将在您的域和服务器上创建您的 Matrix Homeserver(不管它是云提供商还是在您房间角落的旧笔记本电脑上),(可选)维护它(服务器的系统更新、清理、安全调整、调整等;Matrix Homeserver 更新和维护)和(可选)为您的域提供功能齐全的电子邮件服务。

Matrix Space矩阵空间  | Announcements on Matrix|矩阵公告

Ossrox奥索克斯

ossrox.orgossrox.org网站

  • Hosted Homeservers托管家庭服务器

Ossrox is a company from Germany dedicated to hosting open-source services. Not only has the company name been derived from the motto "Open-Source Software Rocks", but also their corporate culture. The three most important principles of the company are security, privacy and sustainability - thanks to open-source software. In addition to Matrix, Ossrox also provides many other solutions e.g. in the messaging, groupware and web meeting segments.Ossrox 是一家来自德国的公司,致力于托管开源服务。公司名称不仅源自“开源软件摇滚”的座右铭,而且源自他们的企业文化。公司最重要的三个原则是安全、隐私和可持续性——这要归功于开源软件。除了 Matrix,Ossrox 还提供许多其他解决方案,例如:在消息传递、群件和网络会议部分。

The providers listed all have a history of providing Matrix services, though The Matrix.org Foundation doesn't explicitly endorse these services.列出的提供商都有提供 Matrix 服务的历史,但 Matrix.org 基金会并未明确认可这些服务。

Bots机器人

matrix-rss-bridge矩阵RSS桥

pythonPython
matrix-rss-bridge
matrix-rss-bridge is a bridge for reading RSS feeds in Matrix rooms.matrix-rss-bridge 是用于在 Matrix 房间中阅读 RSS 提要的桥梁。

finzzz / bucktrix芬兹兹 / bucktrix

PythonPython
finzzz / bucktrix
Extensible matrix bot可扩展矩阵机器人

elizabot伊丽莎白机器人

JavaScriptJavaScript

This bot runs Eliza, a chatbot from the 1960s这个机器人运行着 1960 年代的聊天机器人 Eliza

FAQBotFAQBot

PythonPython

FAQBot answers questionsFAQBot 回答问题

feedbot送料机器人

PythonPython
feedbot
Connects to RSS and Twitter feeds连接到 RSS 和 Twitter 提要

Hemppa大麻

PythonPython

Generic modular Matrix bot, a super easy platform to write Matrix bot functionality in Python通用模块化 Matrix bot,一个用 Python 编写 Matrix bot 功能的超级简单平台

hwittenborn / matrix-faqhwittenborn / 矩阵常见问题解答

PythonPython

Bot to provide a list of FAQs to users机器人向用户提供常见问题解答列表

ivar2 Matrix/IRC Botivar2 矩阵/IRC 机器人

LuaLua

ivar2 is an IRC/Matrix bot on speedivar2 是一个速度上的 IRC/Matrix 机器人

matrix-dialogflow矩阵对话流

PythonPython
matrix-dialogflow
Connect a DialogFlow agent to Matrix as a chatbot将 DialogFlow 代理作为聊天机器人连接到 Matrix

matrix-email-bot矩阵电子邮件机器人

TypeScript打字稿
matrix-email-bot
Posts links to emails in Matrix rooms. Ideal for newsletter distribution.发布指向 Matrix 房间中电子邮件的链接。通讯分发的理想选择。
Example mxid: @email:t2bot.io示例 mxid:@email:t2bot.io

matrix-eno-bot矩阵-eno-bot

Python, Bash蟒蛇,重击
matrix-eno-bot
Personal assistant and Admin tool个人助理和管理工具

matrix-feeder矩阵进料器

JavaScriptJavaScript

Matrix feeder is a matrix bot that monitors defined channels for media and posts them to another channel.Matrix feeder 是一个矩阵机器人,它监控定义的媒体频道并将它们发布到另一个频道。

Matrix-Grep-BotMatrix-Grep-机器人

Java爪哇

A Matrix bot to use grep for searching in large messages使用 grep 搜索大消息的 Matrix 机器人

matrix-monitor-bot矩阵监控机器人

Go

Measures latency between homeservers as perceived by users测量用户感知的家庭服务器之间的延迟

Matrix Registration Bot矩阵注册机器人

PythonPython
Matrix Registration Bot
A bot aiming to create and manage registration tokens for a matrix server. It wants to help invitation based servers to maintain usability.旨在为矩阵服务器创建和管理注册令牌的机器人。它希望帮助基于邀请的服务器保持可用性。
Example mxid: @registration-bot:example.com示例 mxid:@registration-bot:example.com

matrix-trello-bot矩阵-trello-bot

TypeScript打字稿
matrix-trello-bot
Interact with Trello in matrix在矩阵中与 Trello 交互
Example mxid: @trello:t2bot.io示例 mxid:@trello:t2bot.io

matrix-voyager-bot矩阵航海者机器人

JavaScriptJavaScript
matrix-voyager-bot
Maps the Matrix network as it discovers rooms在发现房间时映射 Matrix 网络
Example mxid: @voyager:t2bot.io示例 mxid:@voyager:t2bot.io

maubot / CommitStripmaubot / CommitStrip

PythonPython
maubot / CommitStrip
A maubot plugin to view CommitStrips用于查看 CommitStrip 的 maubot 插件
Example mxid: @commitstrip:maunium.net示例 mxid:@commitstrip:maunium.net

maubot / dicemaubot / 骰子

PythonPython

A maubot plugin that rolls dice.一个掷骰子的 maubot 插件。
Example mxid: @dice:maunium.net示例 mxid:@dice:maunium.net

maubot / echomaubot/回声

PythonPython

A simple maubot plugin that echoes pings and other stuff.一个简单的 maubot 插件,可以回显 ping 和其他东西。
Example mxid: @echo:maunium.net示例 mxid:@echo:maunium.net

maubot / githubmaubot / github

PythonPython
maubot / github
A GitHub client and webhook receiver for maubot.maubot 的 GitHub 客户端和 webhook 接收器。
Example mxid: @github:maunium.net示例 mxid:@github:maunium.net

maubot / gitlabmaubot / gitlab

PythonPython
maubot / gitlab
A GitLab client and webhook receiver for maubot.maubot 的 GitLab 客户端和 webhook 接收器。

maubot / karmamaubot/因果报应

PythonPython

A maubot plugin that tracks the karma of users.一个跟踪用户业力的 maubot 插件。

maubot / remindermaubot/提醒

PythonPython

A maubot plugin to remind you about things.一个提醒你事情的 maubot 插件。
Example mxid: @reminder:maunium.net示例 mxid:@reminder:maunium.net

maubot / rssmaubot / rss

PythonPython

A RSS plugin for maubot.maubot 的 RSS 插件。
Example mxid: @rss:maunium.net示例 mxid:@rss:maunium.net

maubot / xkcdmaubot / xkcd

PythonPython
maubot / xkcd
A maubot plugin to view xkcd comics一个查看 xkcd 漫画的 maubot 插件
Example mxid: @xkcd:maunium.net示例 mxid:@xkcd:maunium.net

maubot魔宝

PythonPython
maubot
A plugin-based Matrix bot system written in Python.一个用 Python 编写的基于插件的 Matrix 机器人系统。

MPD DJMPD DJ

C#/PythonC#/蟒蛇
MPD DJ
A bot for controlling MPD over matrix.用于通过矩阵控制 MPD 的机器人。

opsdroid操作机器人

PythonPython
opsdroid
A connector for opsdroid to receive and respond to messages用于 opsdroid 接收和响应消息的连接器

poll-bot轮询机器人

Go
poll-bot
Matrix bot to do polls. What more do you need?Matrix 机器人进行投票。你还需要什么?
Example mxid: @poll-bot:abolivier.bzh示例 mxid:@poll-bot:abolivier.bzh

rustix生锈的

Rust

A graph-based Matrix bot in RustRust 中基于图形的 Matrix 机器人

tiny-matrix-bot plus微型矩阵机器人加

Python, Bash蟒蛇,重击
tiny-matrix-bot plus
Simple bot for small homeservers适用于小型家庭服务器的简单机器人

tiny-matrix-bot微型矩阵机器人

PythonPython

Simple (and tiny!) Matrix bot based on matrix-nio.基于 matrix-nio 的简单(而且很小!)Matrix bot。

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

A Python 3.6+ asyncio Matrix framework.Python 3.6+ 异步矩阵框架。

Components:成分:

  • Basic HTTP request sender (mautrix.api)基本 HTTP 请求发送器 (mautrix.api)
  • Client API endpoints as functions (mautrix.client.api)作为函数的客户端 API 端点 (mautrix.client.api)
  • Medium-level application service framework (mautrix.appservice)中层应用服务框架(mautrix.appservice)
    • Basic transaction and user/alias query support (based on Cadair's python-appservice-framework).基本事务和用户/别名查询支持(基于 Cadair 的 python-appservice-framework)。
    • Basic room state storage.基本房间状态存储。
    • Intent wrapper around the client API functions (design based on matrix-appservice-bridge).围绕客户端 API 函数的意图包装器(基于 matrix-appservice-bridge 的设计)。
  • Medium-level end-to-end encryption framework (mautrix.crypto)中级端到端加密框架(mautrix.crypto)
    • Handles all the complicated e2ee key exchange.处理所有复杂的 e2ee 密钥交换。
  • High-level bridging framework (mautrix.bridge)高级桥接框架(mautrix.bridge)
    • Base class for bridges.桥梁的基类。
    • Common bridge configuration and appservice registration generation things.常见的网桥配置和应用服务注册生成的东西。
    • Double-puppeting helper.双傀儡帮手。
    • End-to-bridge encryption helper.端到桥加密助手。
  • High-level client framework (mautrix.client)高级客户端框架(mautrix.client)
    • Syncing and event handling helper.同步和事件处理助手。
    • End-to-end encryption helper.端到端加密助手。

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

µtrix is a client library for using the Matrix protocol in MicroPython, e.g. on ESP-based boards with WiFi connectivity.µtrix 是一个客户端库,用于在 MicroPython 中使用 Matrix 协议,例如在具有 WiFi 连接的基于 ESP 的板上。

You can see in action in a video on the Matrix door bell project at Hack'n'Sun 2021您可以在 Hack'n'Sun 2021 的 Matrix 门铃项目视频中看到实际效果

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

nio is a multilayered matrix client library. The underlying base layer doesn't do any IO on its own. On top of the base layer, a no-IO HTTP client implementation exists, as well as a full fledged batteries included asyncio layer using aiohttp.nio 是一个多层矩阵客户端库。底层基础层本身不做任何 IO。在基础层之上,存在一个无 IO HTTP 客户端实现,以及一个使用 aiohttp 的完整的包含电池的异步层。

Documentation文档

The full API documentation for nio can be found at https://matrix-nio.readthedocs.ionio 的完整 API 文档可以在 https://matrix-nio.readthedocs.io 找到

Installation安装

To install nio, simply use pip:要安装 nio,只需使用 pip:

$ pip install matrix-nio

Note that this installs nio without end-to-end encryption support. For e2ee support, python-olm is needed which requires the libolm C library (version 3.x).请注意,这会安装没有端到端加密支持的 nio。对于 e2ee 支持,需要 python-olm,它需要 libolm C 库(版本 3.x)。

After libolm has been installed, the e2ee enabled version of nio can be installed using pip:安装 libolm 后,可以使用 pip 安装支持 e2ee 的 nio 版本:

$ pip install "matrix-nio[e2e]"

Usage用法

Unless special requirements disallow the usage of asyncio, by far the easiest way to use nio is using the asyncio layer.除非特殊要求不允许使用 asyncio,否则使用 nio 最简单的方法是使用 asyncio 层。

Please do note that these examples require python 3.5+ for the async/await syntax. nio on the other hand works with older python versions as well.请注意,这些示例需要 python 3.5+ 才能使用 async/await 语法。另一方面,nio 也适用于较旧的 python 版本。

Sending a message发送消息

import asyncio
from nio import AsyncClient

async def main():
    client = AsyncClient("https://example.org", "@alice:example.org")

    await client.login("hunter1")
    await client.room_send(
        room_id="!test:example.org",
        message_type="m.room.message",
        content={
            "msgtype": "m.text",
            "body": "Hello World"
        }
    )
    await client.close()

asyncio.get_event_loop().run_until_complete(main())

Receiving messages接收消息

import asyncio
from nio import (AsyncClient, RoomMessageText)

async def message_cb(room, event):
    print(
        "Message received for room {} | {}: {}".format(
            room.display_name, room.user_name(event.sender), event.body
        )
    )

async def main():
    client = AsyncClient("https://example.org", "@alice:example.org")
    client.add_event_callback(message_cb, RoomMessageText)

    await client.login("hunter1")
    await client.sync_forever(timeout=30000)

asyncio.get_event_loop().run_until_complete(main())

The full API documentation for nio can be found at https://matrix-nio.readthedocs.ionio 的完整 API 文档可以在 https://matrix-nio.readthedocs.io 找到

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

(Version 2.4.1)(版本 2.4.1)

Simple-Matrix-Bot-Lib is a Python bot library for the Matrix ecosystem built on matrix-nio.Simple-Matrix-Bot-Lib 是基于 matrix-nio 构建的 Matrix 生态系统的 Python 机器人库。

View on Github or View on PyPi or View docs on readthedocs.io在 Github 上查看或在 PyPi 上查看或在 readthedocs.io 上查看文档

Learn how you can contribute here.了解如何在此处做出贡献。

Installation安装

simplematrixbotlib can be either installed from PyPi or downloaded from github.simplematrixbotlib 可以从 PyPi 安装或从 github 下载。

Installation from PyPi:从 PyPi 安装:

python -m pip install simplematrixbotlib

Download from github:从github下载:

git clone --branch master https://github.com/KrazyKirby99999/simple-matrix-bot-lib.git

Example Usage用法示例

# echo.py
# Example:
# randomuser - "!echo example string"
# echo_bot - "example string"

import simplematrixbotlib as botlib

creds = botlib.Creds("https://home.server", "echo_bot", "pass")
bot = botlib.Bot(creds)
PREFIX = '!'

@bot.listener.on_message_event
async def echo(room, message):
    match = botlib.MessageMatch(room, message, bot, PREFIX)

    if match.is_not_from_this_bot() and match.prefix() and match.command("echo"):

        await bot.api.send_text_message(
            room.room_id, " ".join(arg for arg in match.args())
            )

bot.run()

More information and examples can be found here.可以在此处找到更多信息和示例。

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

Matrix.org's JS SDK.Matrix.org 的 JS SDK。

Quickstart快速开始

In a browser在浏览器中

Download the browser version from https://github.com/matrix-org/matrix-js-sdk/releases/latest and add that as a <script> to your page. There will be a global variable matrixcs attached to window through which you can access the SDK. See below for how to include libolm to enable end-to-end-encryption.从 https://github.com/matrix-org/matrix-js-sdk/releases/latest 下载浏览器版本并将其作为 <script> 添加到您的页面。将有一个全局变量 matrixcs 附加到窗口,您可以通过它访问 SDK。请参阅下文了解如何包含 libolm 以启用端到端加密。

The browser bundle supports recent versions of browsers. Typically this is ES2015 or > 0.5%, last 2 versions, Firefox ESR, not dead if using browserlists.浏览器包支持最新版本的浏览器。通常这是 ES2015 或 > 0.5%,最后 2 个版本,Firefox ESR,如果使用浏览器列表则不会死。

Please check the working browser example for more information.请检查工作浏览器示例以获取更多信息。

In Node.js在 Node.js 中

Ensure you have the latest LTS version of Node.js installed.确保安装了最新的 LTS 版本的 Node.js。

This SDK targets Node 10 for compatibility, which translates to ES6. If you're using a bundler like webpack you'll likely have to transpile dependencies, including this SDK, to match your target browsers.此 SDK 以 Node 10 为目标,以兼容 ES6。如果您使用像 webpack 这样的捆绑器,您可能需要转换依赖项(包括此 SDK)以匹配您的目标浏览器。

Using yarn instead of npm is recommended. Please see the Yarn install guide if you do not have it already.建议使用 yarn 而不是 npm。如果您还没有 Yarn 安装指南,请参阅它。

yarn add matrix-js-sdk纱线添加矩阵-js-sdk

  import * as sdk from "matrix-js-sdk";
  const client = sdk.createClient("https://matrix.org");
  client.publicRooms(function(err, data) {
    console.log("Public Rooms: %s", JSON.stringify(data));
  });

See below for how to include libolm to enable end-to-end-encryption. Please check the Node.js terminal app for a more complex example.请参阅下文了解如何包含 libolm 以启用端到端加密。请检查 Node.js 终端应用程序以获得更复杂的示例。

To start the client:启动客户端:

await client.startClient({initialSyncLimit: 10});

You can perform a call to /sync to get the current state of the client:您可以执行对 /sync 的调用以获取客户端的当前状态:

client.once('sync', function(state, prevState, res) {
    if(state === 'PREPARED') {
        console.log("prepared");
    } else {
        console.log(state);
        process.exit(1);
    }
});

To send a message:发送消息:

const content = {
    "body": "message text",
    "msgtype": "m.text"
};
client.sendEvent("roomId", "m.room.message", content, "", (err, res) => {
    console.log(err);
});

To listen for message events:监听消息事件:

client.on("Room.timeline", function(event, room, toStartOfTimeline) {
  if (event.getType() !== "m.room.message") {
    return; // only use messages
  }
  console.log(event.event.content.body);
});

By default, the matrix-js-sdk client uses the MemoryStore to store events as they are received. For example to iterate through the currently stored timeline for a room:默认情况下,matrix-js-sdk 客户端使用 MemoryStore 来存储接收到的事件。例如遍历当前存储的房间时间轴:

Object.keys(client.store.rooms).forEach((roomId) => {
  client.getRoom(roomId).timeline.forEach(t => {
      console.log(t.event);
  });
});

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

A Botkit connector for MatrixMatrix 的 Botkit 连接器

Install安装

$ npm install botkit-matrix$ npm 安装 botkit 矩阵

Usage用法

let config = {
    'baseUrl': 'https://matrix.org',
    'botUserId': '@youruserid:matrix.org',
    'password': 'yourpassword',
    'localStorage': 'filepath'
};

require('botkit-matrix').MatrixController(config)
.then((controller) => {

    controller.hears(['hi', 'hello'], 'message_received', function (bot, message) {
        bot.reply(message, "Hello, world!");
    });
});

You can get a sample bot at botkit-matrix-sample您可以在 botkit-matrix-sample 获取示例机器人

For more features see Botkit Core有关更多功能,请参阅 Botkit 核心

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

SmallBot小机器人

Small Matrix Little Bot小矩阵小机器人

Very small implementation (bare essential) to quickly setup a Matrix Bot in Deno/Typescript/Web.在 Deno/Typescript/Web 中快速设置 Matrix Bot 的非常小的实现(最基本的)。

Quick Setup快速设置

const client = new SmallBot({
    accessToken: "mysecretaccesstoken",
    homeserverUrl: "https://matrix.org/",
    eventHandler: async (client, roomId, event) => {
        if (event.sender !== client.ownUserId) {        
            await client.sendRoomNotice(roomId, "You said: <b>" + event.content.body + "</b>");
        }
    }
});

await client.start();

Deno德诺

You can find this modules on deno.land https://deno.land/x/smallbot_matrix你可以在 deno.land 上找到这个模块 https://deno.land/x/smallbot_matrix

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

This library sits on top of the core application service library and provides an API for setting up bridges quickly.该库位于核心应用程序服务库之上,并提供用于快速设置网桥的 API。

Get it from GitHub and have a look at the HOW-TO for a step-by-step tutorial on setting up a new custom bridge!从 GitHub 获取它并查看 HOW-TO 以获取有关设置新自定义桥的分步教程!

Used by matrix-appservice-slack, matrix-bifröst, full native Gitter bridge, and others.由 matrix-appservice-slack、matrix-bifröst、完整的原生 Gitter 桥等使用。

 __________________________
|                          |
|   Your bridge e.g. IRC   |
|__________________________|
 __|___________________|___
|                          |
| matrix-appservice-bridge |
|__________________________|
 __|___________________|___
|                          |
|    matrix-appservice     |
|      matrix-js-sdk       |
|__________________________|

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

Bots on matrix often have very different requirements than regular clients or users. This SDK is aimed towards making bots more lightweight and responsive. Much of the library is a direct proxy to the client/server API, however it abstracts away the HTTP part as much as possible.矩阵上的机器人通常与普通客户或用户有非常不同的要求。此 SDK 旨在使机器人更轻巧且反应灵敏。该库的大部分内容都是客户端/服务器 API 的直接代理,但它尽可能抽象出 HTTP 部分。

The source, and more information, can be found on GitHub.可以在 GitHub 上找到源代码和更多信息。

Templates and guides模板和指南

Installing安装中

This package can be found on npm:这个包可以在 npm 上找到:

npm install matrix-bot-sdk

Quickstart Bot快速启动机器人

Here's an example of a very simple bot written using this library. It will auto-join rooms and respond to !hello as a command.下面是一个使用该库编写的非常简单的机器人示例。它将自动加入房间并响应 !hello 命令。

import {
    MatrixClient,
    SimpleFsStorageProvider,
    AutojoinRoomsMixin,
    RichReply,
} from "matrix-bot-sdk";

// where you would point a client to talk to a homeserver
const homeserverUrl = "https://matrix.org";

// see https://t2bot.io/docs/access_tokens
const accessToken = "YourSecretAccessToken";

// We'll want to make sure the bot doesn't have to do an initial sync every
// time it restarts, so we need to prepare a storage provider. Here we use
// a simple JSON database.
const storage = new SimpleFsStorageProvider("hello-bot.json");

// Now we can create the client and set it up to automatically join rooms.
const client = new MatrixClient(homeserverUrl, accessToken, storage);
AutojoinRoomsMixin.setupOnClient(client);

// We also want to make sure we can receive events - this is where we will
// handle our command.
client.on("room.message", handleCommand);

// Now that the client is all set up and the event handler is registered, start the
// client up. This will start it syncing.
client.start().then(() => console.log("Client started!"));

// This is our event handler for dealing with the `!hello` command.
async function handleCommand(roomId, event) {
    // Don't handle events that don't have contents (they were probably redacted)
    if (!event["content"]) return;

    // Don't handle non-text events
    if (event["content"]["msgtype"] !== "m.text") return;

    // We never send `m.text` messages so this isn't required, however this is
    // how you would filter out events sent by the bot itself.
    if (event["sender"] === await client.getUserId()) return;

    // Make sure that the event looks like a command we're expecting
    const body = event["content"]["body"];
    if (!body || !body.startsWith("!hello")) return;

    // If we've reached this point, we can safely execute the command. We'll
    // send a reply to the user's command saying "Hello World!".
    const replyBody = "Hello World!"; // we don't have any special styling to do.
    const reply = RichReply.createFor(roomId, event, replyBody, replyBody);
    reply["msgtype"] = "m.notice";
    client.sendMessage(roomId, reply);
}

For more usage information see GitHub.有关更多使用信息,请参阅 GitHub。

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

A Golang Matrix framework. Used by gomuks, go-neb, mautrix-whatsapp and others.一个 Golang 矩阵框架。由 gomuks、go-neb、mautrix-whatsapp 等使用。

This project is based on matrix-org/gomatrix. The original project is licensed under Apache 2.0.该项目基于 matrix-org/gomatrix。原始项目在 Apache 2.0 下获得许可。

In addition to the basic client API features the original project has, this framework also has:除了原有项目具备的基本客户端API特性外,该框架还具备:

  • Appservice support (Intent API like mautrix-python, room state storage, etc)应用服务支持(意图 API,如 mautrix-python、房间状态存储等)
  • End-to-end encryption support (incl. interactive SAS verification)端到端加密支持(包括交互式 SAS 验证)
  • Structs for parsing event content解析事件内容的结构
  • Helpers for parsing and generating Matrix HTML解析和生成 Matrix HTML 的帮助程序
  • Helpers for handling push rules处理推送规则的助手

This project contains modules that are licensed under Apache 2.0:该项目包含在 Apache 2.0 下获得许可的模块:

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

Official Golang Matrix client SDK官方 Golang Matrix 客户端 SDK

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

matrix-rust-sdk is an implementation of a Matrix client-server library in Rust.matrix-rust-sdk 是 Rust 中 Matrix 客户端-服务器库的实现。

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

ruma-clientruma客户端

ruma-client is a bare-bones Matrix client library with support for all of the r0.6.0 client-server API, but without any bookkeeping apart from storing authentication data.ruma-client 是一个基本的 Matrix 客户端库,支持所有 r0.6.0 客户端-服务器 API,但除了存储身份验证数据外没有任何簿记。

Matrix API crates矩阵 API 包

These crates (Rust parlance for packages) contain endpoint definitions for the various Matrix APIs. They can be used both for clients (ruma-client, matrix-rust-sdk) as well as servers (Conduit, Maelstrom).这些板条箱(Rust 对包的说法)包含各种 Matrix API 的端点定义。它们既可以用于客户端(ruma-client、matrix-rust-sdk),也可以用于服务器(Conduit、Maelstrom)。

ruma-client-apiruma-客户端-api

ruma-client-api contains serializable types for the requests and responses for each endpoint in the Matrix client API specification.ruma-client-api 包含 Matrix 客户端 API 规范中每个端点的请求和响应的可序列化类型。

ruma-appservice-apiruma-appservice-api

ruma-appservice-api contains serializable types for the requests and responses for each endpoint in the Matrix appservice API specification.ruma-appservice-api 包含 Matrix appservice API 规范中每个端点的请求和响应的可序列化类型。

ruma-federation-apiruma-federation-api

ruma-federation-api contains serializable types for the requests and responses for endpoints in the Matrix server-server (federation) API specification. As of the time of writing (15.05.2020), it is still very incomplete.ruma-federation-api 包含 Matrix 服务器-服务器(联合)API 规范中端点的请求和响应的可序列化类型。截至撰写本文时(15.05.2020),它仍然很不完整。

Foundational crates基础板条箱

These crates are the foundation for the API crates above and other Matrix-related applications written in Rust.这些 crate 是上述 API crate 和其他用 Rust 编写的 Matrix 相关应用程序的基础。

ruma-apiruma-api

ruma-api contains core types used to define the requests and responses for each endpoint in the various Matrix API specifications. These types can be shared by client and server code for all Matrix APIs.ruma-api 包含用于定义各种 Matrix API 规范中每个端点的请求和响应的核心类型。这些类型可以由所有 Matrix API 的客户端和服务器代码共享。

ruma-identifiersruma标识符

ruma-identifiers contains types for user IDs, room IDs and other identifiers defined by the Matrix API specifications.ruma-identifiers 包含用户 ID、房间 ID 和 Matrix API 规范定义的其他标识符的类型。

ruma-eventsruma活动

ruma-events contains serializable types for the events in the Matrix specification.ruma-events 包含 Matrix 规范中事件的可序列化类型。

ruma-signaturesruma签名

ruma-signatures contains implementations of cryptographic signing, hashing and verification algorithms defined by the Matrix specification.ruma-signatures 包含 Matrix 规范定义的加密签名、散列和验证算法的实现。

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

A Ruby gem for easing the development of software that communicates with servers implementing the Matrix protocol.一个 Ruby gem,用于简化与实现 Matrix 协议的服务器通信的软件的开发。

There is a Matrix room for the discussion about usage and development at #ruby-matrix-sdk:kittenface.studio.在#ruby-matrix-sdk:kittenface.studio 上有一个 Matrix 空间,用于讨论使用和开发。

Live YARD documentation can be found at; http://aleol57.gitlab-pages.liu.se/ruby-matrix-sdk现场 YARD 文档可在以下位置找到; http://aleol57.gitlab-pages.liu.se/ruby-matrix-sdk

Example usage用法示例

# Raw API usage
require 'matrix_sdk'

api = MatrixSdk::Api.new 'https://matrix.org'

api.login user: 'example', password: 'notarealpass'
api.whoami?
# => {:user_id=>"@example:matrix.org"}

# It's possible to call arbitrary APIs as well
api.request :get, :federation_v1, '/version'
# => {:server=>{:version=>"0.28.1", :name=>"Synapse"}}
# Client wrapper
require 'matrix_sdk'

client = MatrixSdk::Client.new 'https://example.com'
client.login 'username', 'notarealpass' #, no_sync: true

client.rooms.count
# => 5
hq = client.find_room '#matrix:matrix.org'
# => #<MatrixSdk::Room:00005592a1161528 @id="!cURbafjkfsMDVwdRDQ:matrix.org" @name="Matrix HQ" @topic="The Official Matrix HQ - please come chat here! | To support Matrix.org development: https://patreon.com/matrixdotorg | Try http://riot.im/app for a glossy web client | Looking for homeserver hosting? Check out https://upcloud.com/matrix!" @canonical_alias="#matrix:matrix.org" @aliases=["#matrix:jda.mn"] @join_rule=:public @guest_access=:can_join @event_history_limit=10>
hq.guest_access?
# => true
hq.send_text "This is an example message - don't actually do this ;)"
# => {:event_id=>"$123457890abcdef:matrix.org"}
# Client wrapper
require 'matrix_sdk'

client = MatrixSdk::Client.new 'https://example.com'
client.api.access_token = 'thisisnotarealtoken'

# Doesn't automatically trigger a sync when setting the token directly
client.rooms.count
# => 0

client.sync
client.rooms.count
# => 5

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

The [Matrix] SDK for Android wraps the Matrix REST API calls in asynchronous Java methods and provides basic structures for storing and handling data.适用于 Android 的 [Matrix] SDK 将 Matrix REST API 调用包装在异步 Java 方法中,并提供用于存储和处理数据的基本结构。

It is an Android Studio (gradle) project containing the SDK module. https://github.com/vector-im/riot-android is the sample app which uses this SDK.它是一个包含 SDK 模块的 Android Studio (gradle) 项目。 https://github.com/vector-im/riot-android 是使用此 SDK 的示例应用程序。

Overview概述

The Matrix APIs are split into several categories (see [matrix api]). Basic usage is:Matrix API 分为几个类别(请参阅 [matrix api])。基本用法是:

  1. Log in or register to a home server -> get the user's credentials登录或注册到家庭服务器 -> 获取用户的凭据
  2. Start a session with the credentials使用凭据启动会话
  3. Start listening to the event stream开始监听事件流
  4. Make matrix API calls进行矩阵 API 调用

Logging in在登录

To log in, use an instance of the login API client.要登录,请使用登录 API 客户端的实例。

HomeServerConnectionConfig hsConfig = new HomeServerConnectionConfig.Builder()
    .withHomeServerUri(Uri.parse("https://matrix.org"))
    .build();
new LoginRestClient(hsConfig).loginWithUser(username, password, new SimpleApiCallback<Credentials>());

If successful, the callback will provide the user credentials to use from then on.如果成功,回调将提供用户凭据以便从那时起使用。

Starting the matrix session开始矩阵会话

The session represents one user's session with a particular home server. There can potentially be multiple sessions for handling multiple accounts.会话表示一个用户与特定主服务器的会话。可能有多个会话用于处理多个帐户。

MXSession session = new MXSession.Builder(hsConfig, new MXDataHandler(store, credentials), getApplicationContext())
    .build();

sets up a session for interacting with the home server.建立一个与家庭服务器交互的会话。

The session gives access to the different APIs through the REST clients:该会话通过 REST 客户端提供对不同 API 的访问:

session.getEventsApiClient() for the events API事件 API 的 session.getEventsApiClient()

session.getProfileApiClient() for the profile API配置文件 API 的 session.getProfileApiClient()

session.getPresenceApiClient() for the presence API用于状态 API 的 session.getPresenceApiClient()

session.getRoomsApiClient() for the rooms API房间 API 的 session.getRoomsApiClient()

For the complete list of methods, please refer to the [Javadoc].有关方法的完整列表,请参阅 [Javadoc]。

Example Getting the list of members of a chat room would look something like this:示例 获取聊天室成员列表如下所示:

session.getRoomsApiClient().getRoomMembers(<roomId>, callback);

The same session object should be used for each request. This may require use of a singleton, see the Matrix singleton in the app module for an example.每个请求都应使用相同的会话对象。这可能需要使用单例,请参阅应用程序模块中的 Matrix 单例作为示例。

The event stream事件流

One important part of any Matrix-enabled app will be listening to the event stream, the live flow of events (messages, state changes, etc.). This is done by using:任何支持 Matrix 的应用程序的一个重要部分将是监听事件流,事件的实时流(消息、状态变化等)。这是通过使用:

session.startEventStream();

This starts the events thread and sets it to send events to a default listener. It may be useful to use this in conjunction with an Android Service to control whether the event stream is running in the background or not.这将启动事件线程并将其设置为将事件发送到默认侦听器。将其与 Android 服务结合使用以控制事件流是否在后台运行可能很有用。

The data handler数据处理者

The data handler provides a layer to help manage data from the events stream. While it is possible to write an app with no data handler and manually make API calls, using one is highly recommended for most uses. The data handler :数据处理程序提供了一个层来帮助管理来自事件流的数据。虽然可以编写一个没有数据处理程序并手动调用 API 的应用程序,但强烈建议在大多数情况下使用一个。数据处理程序:

  • Handles events from the events stream处理事件流中的事件
  • Stores the data in its storage layer将数据存储在其存储层中
  • Provides the means for an app to get callbacks for events为应用程序提供获取事件回调的方法
  • Provides and maintains room objects for room-specific operations (getting messages, joining, kicking, inviting, etc.)为特定于房间的操作(获取消息、加入、踢出、邀请等)提供和维护房间对象
MXDataHandler dataHandler = new MXDataHandler(new MXMemoryStore());

creates a data handler with the default in-memory storage implementation.使用默认的内存存储实现创建数据处理程序。

Registering a listener注册一个监听器

To be informed of events, the app needs to implement an event listener.要获知事件,应用程序需要实施事件侦听器。

session.getDataHandler().addListener(eventListener);

This listener should subclass MXEventListener and override the methods as needed:此侦听器应继承 MXEventListener 并根据需要覆盖方法:

onPresenceUpdate(event, user) Triggered when a user's presence has been updated.onPresenceUpdate(event, user) 当用户状态更新时触发。

onLiveEvent(event, roomState) Triggered when a live event has come down the event stream.onLiveEvent(event, roomState) 当直播事件从事件流中传下来时触发。

onBackEvent(event, roomState) Triggered when an old event (from history), or back event, has been returned after a request for more history.onBackEvent(event, roomState) 在请求更多历史记录后返回旧事件(来自历史记录)或返回事件时触发。

onInitialSyncComplete() Triggered when the initial sync process has completed. The initial sync is the first call the event stream makes to initialize the state of all known rooms, users, etc.onInitialSyncComplete() 当初始同步过程完成时触发。初始同步是事件流进行的第一次调用,用于初始化所有已知房间、用户等的状态。

The Room object房间对象

The Room object provides methods to interact with a room (getting message history, joining, etc).Room 对象提供与房间交互的方法(获取消息历史记录、加入等)。

Room room = session.getDataHandler().getRoom(roomId);

gets (or creates) the room object associated with the given room ID.获取(或创建)与给定房间 ID 关联的房间对象。

Room state房间状态

The RoomState object represents the room's state at a certain point in time: its name, topic, visibility (public/private), members, etc. onLiveEvent and onBackEvent callbacks (see Registering a listener) return the event, but also the state of the room at the time of the event to serve as context for building the display (e.g. the user's display name at the time of their message). The state provided is the one before processing the event, if the event happens to change the state of the room.RoomState 对象表示房间在某个时间点的状态:它的名称、主题、可见性(公共/私有)、成员等。 onLiveEvent 和 onBackEvent 回调(请参阅注册侦听器)返回事件,但也返回状态事件发生时的房间作为构建显示的上下文(例如,用户在他们的消息时的显示名称)。提供的状态是处理事件之前的状态,如果事件恰好改变了房间的状态。

Room history房间历史

When entering a room, an app usually wants to display the last messages. This is done by calling进入房间时,应用程序通常希望显示最后一条消息。这是通过调用

room.requestHistory();

The events are then returned through the onBackEvent(event, roomState) callback in reverse order (most recent first).然后事件通过 onBackEvent(event, roomState) 回调以相反的顺序返回(最近的在前)。

This does not trigger all of the room's history to be returned but only about 15 messages. Calling requestHistory() again will then retrieve the next (earlier) 15 or so, and so on. To start requesting history from the current live state (e.g. when opening or reopening a room),这不会触发返回房间的所有历史记录,但只会返回大约 15 条消息。再次调用 requestHistory() 将检索下一个(更早的)15 左右,依此类推。要从当前实时状态开始请求历史记录(例如,打开或重新打开房间时),

room.initHistory();

must be called prior to the history requests.必须在历史请求之前调用。

The content manager内容管理员

Matrix home servers provide a content API for the downloading and uploading of content (images, videos, files, etc.). The content manager provides the wrapper around that API.Matrix 家庭服务器提供用于下载和上传内容(图像、视频、文件等)的内容 API。内容管理器提供围绕该 API 的包装器。

session.getContentManager();

retrieves the content manager associated with the given session.检索与给定会话关联的内容管理器。

Downloading content下载内容

Content hosted by a home server is identified (in events, avatar URLs, etc.) by a URI with a mxc scheme (mxc://matrix.org/xxxx for example). To obtain the underlying HTTP URI for retrieving the content, use由具有 mxc 方案(例如 mxc://matrix.org/xxxx)的 URI 标识(在事件、头像 URL 等中)由家庭服务器托管的内容。要获取用于检索内容的基础 HTTP URI,请使用

contentManager.getDownloadableUrl(contentUrl);

where contentUrl is the mxc:// content URL.其中 contentUrl 是 mxc:// 内容 URL。

For images, an additional method exists for returning thumbnails instead of full-sized images:对于图像,还有一种方法可以返回缩略图而不是全尺寸图像:

contentManager.getDownloadableThumbnailUrl(contentUrl, width, height, method);

which allows you to request a specific width, height, and scale method (between scale and crop).它允许您请求特定的宽度、高度和缩放方法(介于缩放和裁剪之间)。

Uploading content上传内容

To upload content from a file, use要从文件上传内容,请使用

contentManager.uploadContent(filePath, callback);

specifying the file path and a callback method which will return an object on completion containing the mxc-style URI where the uploaded content can now be found.指定文件路径和回调方法,该方法将在完成时返回一个包含 mxc 样式 URI 的对象,现在可以在其中找到上传的内容。

See the sample app and Javadoc for more details.有关详细信息,请参阅示例应用程序和 Javadoc。

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

Modules模块

client-sdk客户端SDK

Matrix client with the full support of the Client-Server API.完全支持客户端-服务器 API 的 Matrix 客户端。

bot-sdk机器人SDK

Core classes to write bots and appservice. (WIP)编写机器人和应用服务的核心类。 (在制品)

common-backend通用后端

Common classes used in all sdk and implementations. (WIP)所有 sdk 和实现中使用的通用类。 (在制品)

homeserver-backend家庭服务器后端

Core classes to write custom homeserver. (Empty)编写自定义家庭服务器的核心类。 (空的)

identity-backend身份后端

Core classes to write custom identity server. (WIP)编写自定义身份服务器的核心类。 (在制品)

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

A small and simple java API for the Matrix ClientServer Protocol (see clientServer api) The API is still in Beta and known for bugs. If you found or missing a feature one you can create a new issue.Matrix 客户端服务器协议的一个小而简单的 java API(请参阅 clientServer api)该 API 仍处于 Beta 阶段,并且以错误而闻名。如果您找到或缺少一个功能,您可以创建一个新问题。

Usage用法

Login登录

With credentials有凭据

//https not supported yet
Client c = new Client("http://matrix.your.server.xyz:8008");  
c.login("examplebot", "wordpass123", loginData -> {  
  if (loginData.isSuccess()) {
    //Do sth with the bot
  } else {  
    System.err.println("error logging in");  
  }
});

With Usertoken使用用户令牌

//https not supported yet
Client c = new Client("http://matrix.your.server.xyz:8008");  
c.login("Y0ur70ken", loginData -> {  
  if (loginData.isSuccess()) {
    //Do sth with the bot
  } else {  
    System.err.println("error logging in");  
  }
});

For an examplebot you can have a look at my Grep Bot对于示例机器人,您可以查看我的 Grep Bot

Features特征

  • Login登录
    • UserID/Password用户名/密码
    • Usertoken用户令牌
  • Events事件
    • Receive&Send roomevents (join, messages, typing, ....)接收和发送房间事件(加入、消息、打字……)
    • Get eventdata by EventID通过 EventID 获取事件数据
    • Multiple eventlistener多个事件监听器
    • Receive events happened when bot was offline接收机器人离线时发生的事件
    • Custom sync filter自定义同步过滤器
  • User用户
    • Presence在场
    • Typing打字
    • Receipts收据
    • Send text/messages (formatted and raw)发送文本/消息(格式化和原始)
    • Login/Logout/Logout all登录/注销/全部注销
    • Join/leave room加入/离开房间
    • Get roommembers获取房间成员
    • Kick
    • Ban禁止
    • Unban解禁
    • Create new room创建新房间

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

This open-source library allows you to build iOS apps compatible with Matrix (http://www.matrix.org), an open standard for interoperable Instant Messaging and VoIP.这个开源库允许您构建与 Matrix (http://www.matrix.org) 兼容的 iOS 应用程序,Matrix 是可互操作的即时消息和 VoIP 的开放标准。

This SDK implements an interface to communicate with the Matrix Client/Server API which is defined at https://spec.matrix.org/latest/client-server-api/.此 SDK 实现了一个与 Matrix 客户端/服务器 API 通信的接口,该 API 在 https://spec.matrix.org/latest/client-server-api/ 中定义。

Use the SDK in your app在您的应用中使用 SDK

The SDK uses CocoaPods (http://cocoapods.org/) as library dependency manager. In order to set this up:SDK 使用 CocoaPods (http://cocoapods.org/) 作为库依赖管理器。为了进行设置:

sudo gem install cocoapods
pod setup

The best way to add the last release of the Matrix SDK to your application project is to add the MatrixSDK dependency to your Podfile:将 Matrix SDK 的最新版本添加到您的应用程序项目的最佳方法是将 MatrixSDK 依赖项添加到您的 Podfile:

Obj-C: pod 'MatrixSDK'Obj-C: pod 'MatrixSDK'

Swift: pod 'SwiftMatrixSDK'Swift: pod 'SwiftMatrixSDK'

If you want to use the develop version of the SDK, use instead:如果您想使用 SDK 的开发版本,请改用:

Obj-C pod: 'MatrixSDK', :git => 'https://github.com/matrix-org/matrix-ios-sdk.git', :branch => 'develop'Obj-C pod: 'MatrixSDK', :git => 'https://github.com/matrix-org/matrix-ios-sdk.git', :branch => 'develop'

Swift pod: 'SwiftMatrixSDK', :git => 'https://github.com/matrix-org/matrix-ios-sdk.git', :branch => 'develop'Swift pod: 'SwiftMatrixSDK', :git => 'https://github.com/matrix-org/matrix-ios-sdk.git', :branch => 'develop'

Options选项

If you want to enable VoIP using the http://webrtc.org VoIP stack, add the following pod to you app Podfile:如果您想使用 http://webrtc.org VoIP 堆栈启用 VoIP,请将以下 pod 添加到您的应用程序 Podfile:

pod 'MatrixSDK/JingleCallStack'

Overview概述

As a quick overview, there are the classes to know to use the SDK.作为快速概览,需要了解使用 SDK 的类。

Matrix API level矩阵 API 级别

MXRestClientMXRestClient

: Exposes the Matrix Client-Server API as specified by the Matrix standard to make requests to a homeserver.:公开 Matrix 标准指定的 Matrix 客户端-服务器 API 以向家庭服务器发出请求。

Business logic and data model业务逻辑和数据模型

These classes are higher level tools to handle responses from a homeserver. They contain logic to maintain consistent chat room data.这些类是更高级别的工具,用于处理来自家庭服务器的响应。它们包含维护一致的聊天室数据的逻辑。

MXSessionMX会话

: This class handles all data arriving from the homeserver. It uses a MXRestClient instance to fetch data from the homeserver, forwarding it to MXRoom, MXRoomState, MXRoomMember and MXUser objects.:此类处理来自家庭服务器的所有数据。它使用 MXRestClient 实例从家庭服务器获取数据,并将其转发到 MXRoom、MXRoomState、MXRoomMember 和 MXUser 对象。

MXRoomMX房间

: This class provides methods to get room data and to interact with the room (join, leave...).:此类提供获取房间数据和与房间交互(加入、离开...)的方法。

MXRoomStateMX房间状态

: This is the state of room at a certain point in time: its name, topic, visibility (public/private), members, etc.:这是某个时间点的房间状态:它的名称、主题、可见性(公共/私人)、成员等。

MXRoomMemberMXRoom会员

: Represents a member of a room.: 代表一个房间的成员。

MXUserMX用户

: This is a user known by the current user, outside of the context of a room. MXSession exposes and maintains the list of MXUsers. It provides the user id, displayname and the current presence state:这是当前用户已知的用户,在房间上下文之外。 MXSession 公开并维护 MXUsers 列表。它提供用户 ID、显示名称和当前状态

Usage用法

The sample app (https://github.com/matrix-org/matrix-ios-console) demonstrates how to build a chat app on top of Matrix. You can refer to it, play with it, hack it to understand the full integration of the Matrix SDK. This section comes back to the basics with sample codes for basic use cases.示例应用程序 (https://github.com/matrix-org/matrix-ios-console) 演示了如何在 Matrix 之上构建聊天应用程序。您可以参考它、使用它、破解它以了解 Matrix SDK 的完整集成。本节通过基本用例的示例代码回到基础知识。

One file to import:要导入的一个文件:

Obj-C:目标-C:

#import <MatrixSDK/MatrixSDK.h>

Swift:迅速:

import SwiftMatrixSDK

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

Quotient (former QMatrixClient) enables application development for Matrix using Qt. Its two main deliverables are libQuotient, the library to make applications that use Matrix, and Quaternion, the reference client using most of libQuotient. Main features for client development are there, with E2EE and support of full-fledged application services development in the roadmap.Quotient(以前的 QMatrixClient)支持使用 Qt 为 Matrix 开发应用程序。它的两个主要可交付成果是 libQuotient(用于制作使用 Matrix 的应用程序的库)和 Quaternion(使用大部分 libQuotient 的参考客户端)。客户端开发的主要功能在那里,E2EE 和路线图中成熟的应用程序服务开发的支持。

Aside from Quaternion, Quotient code is used by Spectral and a few other clients. 除了四元数之外,商数代码还被 Spectral 和其他一些客户端使用。

The code, releases and issue trackers can be found in the project's GitHub organisation. Aside from the dedicated Matrix room (see above), news about libQuotient and Quaternion are regularly posted to This Week in Matrix.代码、版本和问题跟踪器可以在项目的 GitHub 组织中找到。除了专门的 Matrix 房间(见上文),关于 libQuotient 和 Quaternion 的新闻定期发布到 This Week in Matrix。

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

libkazv is a sans-io C++ (gnu++17) client library, built upon lager. It supports end-to-end encryption.libkazv 是一个基于 lager 构建的 sans-io C++ (gnu++17) 客户端库。它支持端到端加密。

Read the API documentation on its website.阅读其网站上的 API 文档。

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

Trixnity is a multiplatform Matrix SDK written in Kotlin. You can write clients, bots, servers and appservices with it. This SDK supports JVM/JS/Native as targets. Ktor is used for the HTTP client/server and kotlinx.serialization for the serialization/deserialization.Trixnity 是一个用 Kotlin 编写的多平台 Matrix SDK。你可以用它编写客户端、机器人、服务器和应用程序服务。此 SDK 支持 JVM/JS/Native 作为目标。 Ktor 用于 HTTP 客户端/服务器,kotlinx.serialization 用于序列化/反序列化。

Trixnity aims to be strongly typed, customizable and easy to use. You can register custom events and Trixnity will take care, that you can send and receive that type.Trixnity 的目标是强类型、可定制和易于使用。您可以注册自定义事件,Trixnity 会负责,您可以发送和接收该类型。

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

A Matrix library for C# UWP.C# UWP 的矩阵库。

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

A .NET standard 2.0 library supporting a subset of Matrix APIs including room management and basic message functions.一个 .NET 标准 2.0 库,支持 Matrix API 的子集,包括房间管理和基本消息功能。
Can be used as a basis for more complicated SDKs.可以用作更复杂的 SDK 的基础。

GithubGithub

SDKsSDK

PythonPython

mautrix-python (Python)mautrix-python (Python)
µtrix (Python)μtrix(蟒蛇)
matrix-nio (Python)矩阵-nio(Python)
Simple-Matrix-Bot-Lib (Python)简单矩阵机器人库(Python)

JavaScriptJavaScript

Matrix.org JS SDK (JavaScript)Matrix.org JS SDK (JavaScript)
botkit-matrix (JavaScript)botkit 矩阵 (JavaScript)
smallbot-matrix (TypeScript)小机器人矩阵(打字稿)
matrix-appservice-bridge (TypeScript)矩阵应用服务桥(打字稿)
matrix-bot-sdk (TypeScript)矩阵-bot-sdk(打字稿)

Go

mautrix-go (Go)mautrix-go(围棋)
gomatrix (Go)gomatrix(围棋)

Rust

matrix-rust-sdk (Rust)matrix-rust-sdk(铁锈)
Ruma (Rust)Ruma(生锈)

Ruby红宝石

Ruby Matrix SDK (Ruby)红宝石矩阵 SDK (红宝石)

Java爪哇

Matrix.org Android SDK (Java)Matrix.org Android SDK (Java)
jmsdk (Java)jmsdk(Java)
Matrix-ClientServer-API-java (Java)Matrix-ClientServer-API-java (Java)

Objective-C目标-C

Matrix.org iOS SDK (Objective-C)Matrix.org iOS SDK (Objective-C)

Dart

PerlPerl

C/C++C/C++

Quotient (C++/Qt)商 (C++/Qt)
libkazv (C++)库卡兹夫 (C++)

Kotlin科特林

Trixnity (Kotlin)Trixnity(科特林)

.NET。网

MatrixAPI (C#)矩阵 API (C#)
Matrix C# SDK (C#)矩阵 C# SDK (C#)

Other其他

Matrix::Client (Raku)矩阵::客户端(Raku)

Raku Matrix client. githubRaku Matrix 客户端。知乎